TensorFlow Probability 是一个用于概率推理和统计分析的库。

import tensorflow as tf
import tensorflow_probability as tfp

# Pretend to load synthetic data set.
features = tfp.distributions.Normal(loc=0., scale=1.).sample(int(100e3))
labels = tfp.distributions.Bernoulli(logits=1.618 * features).sample()

# Specify model.
model = tfp.glm.Bernoulli()

# Fit model given data.
coeffs, linear_response, is_converged, num_iter = tfp.glm.fit(
    model_matrix=features[:, tf.newaxis],
    response=tf.cast(labels, dtype=tf.float32),
    model=model)
# ==> coeffs is approximately [1.618] (We're golden!)
TensorFlow Probability (TFP) 是一个基于 TensorFlow 构建的 Python 库,使我们能够通过该库在现代硬件(TPU、GPU)上轻松结合使用概率模型和深度学习。TFP 适合数据科学家、统计人员、机器学习研究人员,以及希望运用领域知识了解数据和做出预测的从业人员使用。TFP 包括:
  • 大量可供选择的概率分布和 Bijector。
  • 用于构建深度概率模型的工具,包括概率层和 Edward2 语言。
  • 变分推断和马尔可夫链蒙特卡洛方法。
  • 优化器,例如 Nelder-Mead 算法、BFGS 和 SGLD。
由于 TFP 继承了 TensorFlow 的优势,因此您可以在模型探索和生产的整个生命周期内使用单一语言构建、拟合和部署模型。TFP 是开源的,可在 GitHub 上找到源代码。要开始使用,请参阅 TensorFlow Probability 指南