![](/img/trans.png)
[英]ValueError: Error when checking input: expected conv2d_1_input to have 4 dimensions, but got array with shape (117, 1, 32, 32, 3)
[英]Error when checking input: expected conv2d_1_input to have shape (3, 32, 32) but got array with shape (32, 32, 3)
我想为cifar10数据集训练CNN,但收到此错误检查输入时出错:预期conv2d_10_input具有形状(3、32、32),但形状为(32、32、3)的数组
时代= 10 batch_size = 32
model.fit(X_train,Y_train,validation_data =(X_test,Y_test),历元=历元,batch_size = batch_size,详细= 1)
数据集似乎采用(高度,宽度,通道)格式,但是模型期望采用(通道,高度,宽度)格式。
我们可以使用tf.transpose()
函数在它们之间进行转换,该函数可以围绕张量的尺寸“切换”。
要将单个图像张量从HWC转换为CHW,只需执行以下操作:
reshaped = tf.transpose(image_tensor, (2,0,1))
要转换批次,您可以执行以下操作:
reshaped = tf.transpose(images_tensor, (0,3,1,2))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.