【发布时间】:2019-02-12 21:02:21
【问题描述】:
我有一批 5 张图片,我想将它们随机裁剪为 w_、h_ 大小
例子:
import tensorflow as tf
images=tf.reshape(tf.range(100*100*3*5), [100, 100, 3, 5])
batch_crop = tf.random_crop(images, size=(20, 20))
with tf.Session() as sess:
batch = sess.run([batch_crop])
我得到错误: ValueError: Shape must be rank 4 but is rank 3 for 'concat' (op: 'ConcatV2') with input shapes:
【问题讨论】:
-
你运行的是什么版本的 tensorflow?在
1.12.0中复制粘贴该代码给了我TypeError: 'module' object is not callable的错误。另外,在您的版本中,tf.random是做什么的?您可以链接文档吗?我不明白那是如何实现收成的? -
@IanQuah,抱歉是
tf.random_crop,我使用的是 1.9.0 版本 -
我无法重现您的示例。我在
batch_crop = tf.random_crop(images, size=(20, 20))线上收到tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimensions must be equal, but are 4 and 2 for 'random_crop/GreaterEqual' (op: 'GreaterEqual') with input shapes: [4], [2]的错误。您从粘贴的示例中得到的错误是什么?这就是我要尝试解决的问题 -
等等,你想做什么?那么给定 5 张形状为
(100, 100, 3)的图像,您想从中裁剪出(20,20)吗?所以生成的形状将是(20, 20, 3, 5)? -
@IanQuah,没错
标签: python numpy tensorflow