codecamp

TensorFlow StochasticTensor详细介绍

tf.contrib.bayesflow.stochastic_tensor.StochasticTensor


tf.contrib.bayesflow.stochastic_tensor.StochasticTensor 类

定义在:tensorflow/contrib/bayesflow/python/ops/stochastic_tensor_impl.py.

参见指南:BayesFlow随机张量(contrib)>随机张量类

StochasticTensor 是一个由分布支持的 BaseStochasticTensor.

StochasticTensor 属性


  • distribution
  • dtype
  • graph
  • name
  • value_type

方法


__init__

__init__ (
DIST ,
name = 'StochasticTensor' ,
dist_value_type = None,
loss_fn = sge.score_function
)

构造一个 StochasticTensor.

StochasticTensor 由分区支持,它的 value 方法将在每次调用时返回相同的值.value 返回什么值由 dist_value_type(默认SampleValue)控制.

一些分布的样本函数是不可微的(例如来自离散分布的样本,如伯努利),因此要区分样本上游的 wrt 参数需要像评分函数估计器一样的梯度估计.这是通过传递一个可微分 loss_fn 到StochasticTensor,其默认为一个函数,其导数是分数函数估计.调用 stochastic_graph.surrogate_loss(final_losses) 将调用 loss() 的每一个 StochasticTensor 上游的最终损失.

loss() 将返回 None,StochasticTensor 以支持重新配置的分布; 如果值类型是 MeanValueType 或  loss_fn = None,它也将返回 none.

ARGS:

  • dist:一个分配实例.
  • name:这个StochasticTensor和它操作的名字.
  • dist_value_type:一个 _StochasticValueType,这将决定 StochasticTensor 的值将是什么.如果没有提供,将使用 value_type 上下文管理器设置的值类型.
  • loss_fn:可以调用 (st, st.value(), influenced_loss),其中 st 是这个 StochasticTensor,并返回张量损失.默认情况下,loss_fn 是 score_function 或者更准确地说,是分数函数的积分,这样当采用梯度时,分数函数就会产生.有关其他的损失函数和基准,请参阅 stochastic_gradient_estimators.

注意:

  • TypeError:如果区不是一个分配实例.
  • TypeError:如果 loss_fn 是不可调用的.

entropy

entropy( name = 'entropy' )

loss

loss ( 
final_loss ,
name = 'Loss'
)

mean

mean ( name = 'mean' )

value

value ( name = 'value' )
TensorFlow绘制样本
TensorFlow创建值类型上下文
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

TensorFlow 函数介绍

TensorFlow 函数模块:tf

TensorFlow的image模块

TensorFlow使用之tf.io

TensorFlow使用之tf.keras

TensorFlow函数教程:tf.keras.applications

TensorFlow函数教程:tf.keras.backend

TensorFlow使用之tf.metrics

TensorFlow使用之tf.nn

TensorFlow使用之tf.python_io

TensorFlow 功能函数

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }