我在Tensorflow中找不到等效的numpy's fill function。 Tensorflow有fill function,但不等同。具体而言,张量流函数返回新的恒定张量。
我有tf.Variable
,我希望在迭代之前将所有条目设置为某个常量值。什么功能或成语实现了这个目标?
请注意,我想多次使用此功能。我们不是在谈论一个完成迭代。例如,我可以这样做:
tf.Variable( tf.fill( ... ) )
tf.Variable( tf.ones( ... ) )
但这会导致创建大量临时变量。我更喜欢创建一次变量,然后使用fill
重置它。除非你从效率的角度来看有一个坏的原因......?
答案 0 :(得分:1)
您可以先使用shape
确定张量的形状,然后使用constant
或fill
方法。
>>> mytf = tf.ones([2,3], tf.int32)
>>> mynew1 = tf.constant(3, shape = mytf.shape)
>>> mynew2 = tf.fill(mytf.shape, 4)
>>> print(sess.run(mytf))
[[1 1 1]
[1 1 1]]
>>> print(sess.run(mynew1))
[[3 3 3]
[3 3 3]]
>>> print(sess.run(mynew2))
[[4 4 4]
[4 4 4]]