2017-10-12 120 views
1

计算两个张量值,并尝试创建动态形状的张量。 E是张量变量的切片,labelLen_l是一个占位符,tensorval1和tensorval2是维的张量1Tensorflow:使用动态计算张量填充张量

num1 = tf.reduce_sum(tf.eye(labelLen_l, dtype=tf.float64)*E, 1) num2 = tf.fill(num1.shape, tensor_val1) num3 = tf.fill(num1.shape, tensor_val2)

它说ValueError: Tried to convert 'dims' to a tensor and failed. Error: Cannot convert a partially known TensorShape to a Tensor: <unknown>

我试图计算NUM1 + NUM2 + NUM3和因此它们的尺寸应该匹配。任何建议来实现它?

回答

1

您可以使用tf.shape来获得作为张量类型的张量形状。

NUM2 = tf.fill(num1.shape,tensor_val1)

NUM3 = tf.fill(num1.shape,tensor_val2)

应该是:

num2 = tf.fill(tf.shape(num1), tensor_val1) 
num3 = tf.fill(tf.shape(num1), tensor_val2)