创建与另一个张量相同形状的值的重复副本

时间:2017-08-24 03:48:30

标签: python tensorflow

我有一些任意形状的张量。我想创建一个相同形状的第二张量,但填充了一些值c,所以我可以成对地将它们相乘。我目前有以下代码。 input是具有预定形状和任意值的张量。

input_size = tf.size(inputs)
mult = [c]*input_size
mult = tf.reshape(mult, shape = inputs.shape)
tf.reduce_prod([inputs, mult], axis = 0, keep_dims = True)

这个当前代码存在两个问题。首先,mult最初并不是作为张量创建的,我不能只声明shape = inputs.shape。我是张力流的新手所以非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用tf.constanttf.fill创建指定形状的常量张量:

tf.constant(c, shape=inputs.shape)

或:

tf.fill(inputs.shape, c)

示例:

with tf.Session() as sess:
...     print(sess.run(tf.constant(3, shape=[3,3])))
... 
[[3 3 3]
 [3 3 3]
 [3 3 3]]
>>> with tf.Session() as sess:
...     print(sess.run(tf.fill([3,3], 3)))
... 
[[3 3 3]
 [3 3 3]
 [3 3 3]]