Tensorflow中的numpy随机选择
发布于 2021-01-29 18:11:04
Tensorflow中是否有等效于numpy随机选择的函数。在numpy中,我们可以从给定列表中随机获得一个项目及其权重。
np.random.choice([1,2,3,5], 1, p=[0.1, 0, 0.3, 0.6, 0])
此代码将从给定列表中选择一个权重为p的项。
关注者
0
被浏览
137
1 个回答
-
不,但是您可以使用tf.multinomial获得相同的结果:
elems = tf.convert_to_tensor([1,2,3,5]) samples = tf.multinomial(tf.log([[1, 0, 0.3, 0.6]]), 1) # note log-prob elems[tf.cast(samples[0][0], tf.int32)].eval() Out: 1 elems[tf.cast(samples[0][0], tf.int32)].eval() Out: 5
该
[0][0]
部分在这里,正如multinomial
预期的那样,该批次中每个元素的行都有未归一化的对数概率,并且对于样本数量还具有另一个维度。