我想将行占位符(例如[1, 2]
)转换为列占位符,例如[[1], [2]]
y = tf.placeholder(tf.int32, shape=[None], name='target')
y = tf.reshape(y, (y.shape[0], 1))
init = tf.global_variables_initializer()
with tf.Session() as sess:
init.run()
print(sess.run(y, feed_dict={y:[1,2]}))
但是我收到了一个错误:
TypeError: Failed to convert object of type <class 'tuple'> to Tensor. Contents: (Dimension(None), 1). Consider casting elements to a supported type.
问题在于y.shape[0]
的用法。 y的维度定义为None
。我也尝试了tf.shape(y)
,但效果不佳。
答案 0 :(得分:0)
答案 1 :(得分:-1)
使用tf.expand_dims()
简单地将行添加到列中y = tf.placeholder(tf.int32, shape=[None], name='target')
y = tf.expand_dims(y,axis=1)
但是,在输入数据时还有另一个问题,因为简单地向张量添加维度不会定义其形状,它只是添加一个额外的索引。这是您可以独立发布的另一个问题。