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 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    不,但是您可以使用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预期的那样,该批次中每个元素的行都有未归一化的对数概率,并且对于样本数量还具有另一个维度。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看