数据集形状不正确tensorflow



我正试图调用tf.image.random_crop(image, size=INPUT_SHAPE),但我收到了以下错误:

ValueError: Dimensions must be equal, but are 4 and 3 for '{{node random_crop/GreaterEqual}} = GreaterEqual[T=DT_INT32](random_crop/Shape, random_crop/size)' with input shapes: [4], [3].

因此,当我试图了解发生了什么时,我尝试用打印数据集的形状

print(len(train_dataset), train_dataset)

我得到了这个:

23 <BatchDataset element_spec=(TensorSpec(shape=(None, 160, 160, 1), dtype=tf.float32, name=None), TensorSpec(shape=(None,), dtype=tf.int32, name=None))>

首先,我不理解数字23,更令人担忧的是TensorSpec(shape=(None,160160,1(。我的INPUT_SHAPE是(1601601(,所以我想知道这是否是问题的原因。

我看到一个线程说我应该把批量大小改为1,但这对我来说不可行。现在,我根本没有数据集的批量大小

看起来您是在批处理后应用random_crop。要使上述操作生效,您需要设置INPUT_SHAPE = (batch_size, 120, 120,3),或者您可以在应用random_crop后进行批处理。

相关内容

  • 没有找到相关文章

最新更新