Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tensorflow中的加权随机张量选择_Tensorflow - Fatal编程技术网

tensorflow中的加权随机张量选择

tensorflow中的加权随机张量选择,tensorflow,Tensorflow,我有一个张量列表和一个表示其概率质量函数的列表。如何让tensorflow根据概率质量函数随机选取一个张量 我认为有几种可能的方法可以做到这一点: 一个是排名更高的张量的装箱单,选择一个基于tensorflow变量的切片和挤压,我将分配正确的索引。这种方法的性能损失是多少?tensorflow会评估其他不需要的张量吗 另一个是使用tf.case,方式与以前类似,我从许多张量中选择一个张量。同样的问题->性能损失是什么,因为我计划在每次运行一个图时使用相当多的~100s条件语句 有没有更好的办法

我有一个张量列表和一个表示其概率质量函数的列表。如何让tensorflow根据概率质量函数随机选取一个张量

我认为有几种可能的方法可以做到这一点:

一个是排名更高的张量的装箱单,选择一个基于tensorflow变量的切片和挤压,我将分配正确的索引。这种方法的性能损失是多少?tensorflow会评估其他不需要的张量吗

另一个是使用tf.case,方式与以前类似,我从许多张量中选择一个张量。同样的问题->性能损失是什么,因为我计划在每次运行一个图时使用相当多的~100s条件语句

有没有更好的办法

我认为你应该使用

假设你有:

一批形状张量[批量大小,数量特征] 形状[批次大小]的概率分布 您希望输出:

来自一批张量的1个示例,形状为[1,num_特征] 批次张量=tf.常数[[0,1,2.],[3,4,5.]]形状[批次大小,数量特征] 概率=tf.常数[0.7,0.3]形状[批次大小] 我们需要将概率转换为log_概率,并将其重塑为[1,批处理大小] 重新缩放的概率=tf.expand\u dimstf.logprobabilities,0形状[1,批次大小] 我们现在可以从分布中得出一个例子,我们可以得出更多 指标=tf。多项式重标概率,样本数=1 输出=tf.gatherbatch_张量,tf.squezeindice[0] 既然我计划每次运行一个图时都有相当多的~100s条件语句,那么性能损失是多少

如果要进行多个绘制,应通过增加参数num_samples一次完成。然后,您可以使用tf.gather在一次运行中收集这些num_示例。

我认为您应该使用

假设你有:

一批形状张量[批量大小,数量特征] 形状[批次大小]的概率分布 您希望输出:

来自一批张量的1个示例,形状为[1,num_特征] 批次张量=tf.常数[[0,1,2.],[3,4,5.]]形状[批次大小,数量特征] 概率=tf.常数[0.7,0.3]形状[批次大小] 我们需要将概率转换为log_概率,并将其重塑为[1,批处理大小] 重新缩放的概率=tf.expand\u dimstf.logprobabilities,0形状[1,批次大小] 我们现在可以从分布中得出一个例子,我们可以得出更多 指标=tf。多项式重标概率,样本数=1 输出=tf.gatherbatch_张量,tf.squezeindice[0] 既然我计划每次运行一个图时都有相当多的~100s条件语句,那么性能损失是多少

如果要进行多个绘制,应通过增加参数num_samples一次完成。然后可以使用tf.gather在一次运行中收集这些num_示例