在tensorflow或keras中重构为None

时间:2017-10-14 21:15:33

标签: tensorflow keras reshape

假设我有一个形状张量[None, 80, 80]。这是一批用于随机梯度下降的80x80图像。

假设我选择小批量大小为50,(无为50),我想将无因分为两个维(5, 10),从而产生[?, ?, 80, 80]

如何在使用None值形成图形时实现此目的?

1 个答案:

答案 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)

当然,请记住,传递不合适的批量大小会导致运行时出现异常。