假设我有一个形状张量[None, 80, 80]
。这是一批用于随机梯度下降的80x80图像。
假设我选择小批量大小为50,(无为50),我想将无因分为两个维(5, 10)
,从而产生[?, ?, 80, 80]
。
如何在使用None值形成图形时实现此目的?
答案 0 :(得分:2)
您可以使用tf.reshape
:
import numpy as np
import tensorflow as tf
x = tf.placeholder(tf.float32, shape=[None, 80, 80], name='x')
y = tf.reshape(x, shape=[-1, 10, 80, 80], name='y')
data = np.zeros([50, 80, 80])
with tf.Session() as session:
result = session.run(y, feed_dict={x: data})
print result.shape
结果输出:
(5, 10, 80, 80)
当然,请记住,传递不合适的批量大小会导致运行时出现异常。