Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 检查目标时出错:应具有形状(256,256,1),但获得具有形状(256,256,3)的数组_Python_Tensorflow_Keras - Fatal编程技术网

Python 检查目标时出错:应具有形状(256,256,1),但获得具有形状(256,256,3)的数组

Python 检查目标时出错:应具有形状(256,256,1),但获得具有形状(256,256,3)的数组,python,tensorflow,keras,Python,Tensorflow,Keras,我正在尝试制作image2imagetranslation和 我的数据集由Mnist(256*256)和转换后的Mnist(256*256)组成 我真的受到了这个错误的折磨: ValueError: Error when checking target: expected conv2d_transpose_57 to have shape (256, 256, 1) but got array with shape (256, 256, 3) 我的图层看起来是这样的: ____________

我正在尝试制作
image2image
translation和 我的数据集由Mnist(256*256)和转换后的Mnist(256*256)组成

我真的受到了这个错误的折磨:

ValueError: Error when checking target: expected conv2d_transpose_57 to have shape (256, 256, 1) but got array with shape (256, 256, 3)
我的图层看起来是这样的:

_______________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_56 (Conv2D)           (None, 256, 256, 17)      476       
_________________________________________________________________
conv2d_57 (Conv2D)           (None, 256, 256, 32)      4928      
_________________________________________________________________
max_pooling2d_37 (MaxPooling (None, 128, 128, 32)      0         
_________________________________________________________________
conv2d_58 (Conv2D)           (None, 128, 128, 48)      13872     
_________________________________________________________________
conv2d_59 (Conv2D)           (None, 128, 128, 64)      27712     
_________________________________________________________________
max_pooling2d_38 (MaxPooling (None, 64, 64, 64)        0         
_________________________________________________________________
max_pooling2d_39 (MaxPooling (None, 32, 32, 64)        0         
_________________________________________________________________
conv2d_60 (Conv2D)           (None, 32, 32, 96)        55392     
_________________________________________________________________
conv2d_61 (Conv2D)           (None, 32, 32, 128)       110720    
_________________________________________________________________
max_pooling2d_40 (MaxPooling (None, 16, 16, 128)       0         
_________________________________________________________________
max_pooling2d_41 (MaxPooling (None, 8, 8, 128)         0         
_________________________________________________________________
conv2d_62 (Conv2D)           (None, 8, 8, 192)         221376    
_________________________________________________________________
conv2d_63 (Conv2D)           (None, 8, 8, 256)         442624    
_________________________________________________________________
max_pooling2d_42 (MaxPooling (None, 4, 4, 256)         0         
_________________________________________________________________
conv2d_64 (Conv2D)           (None, 4, 4, 256)         590080    
_________________________________________________________________
conv2d_transpose_50 (Conv2DT (None, 8, 8, 256)         262400    
_________________________________________________________________
conv2d_transpose_51 (Conv2DT (None, 16, 16, 192)       196800    
_________________________________________________________________
conv2d_transpose_52 (Conv2DT (None, 32, 32, 128)       98432     
_________________________________________________________________
conv2d_transpose_53 (Conv2DT (None, 64, 64, 64)        32832     
_________________________________________________________________
conv2d_transpose_54 (Conv2DT (None, 128, 128, 48)      12336     
_________________________________________________________________
conv2d_transpose_55 (Conv2DT (None, 256, 256, 32)      6176      
_________________________________________________________________
conv2d_transpose_56 (Conv2DT (None, 256, 256, 17)      561       
_________________________________________________________________
conv2d_transpose_57 (Conv2DT (None, 256, 256, 3)       54        
=================================================================
Total params: 2,076,771
Trainable params: 2,076,771
Non-trainable params: 0
_________________________________________________________________
回溯(最近一次呼叫最后一次):

idk为什么会这样

我已将最后一层的输出更改为
(无、256、256、1)
我已将第一层的输入和最后一层的输出更改为
(无、256、256、1)
但是它不起作用

将numpy导入为np
进口警告
导入csv
导入操作系统
从PIL导入图像
随机输入
从keras.layers导入输入
从keras导入图层
从keras.layers导入稠密
从keras.layers导入激活
从keras.layers导入展平、转换
从keras.layers导入Conv2D,向上采样2D
从keras.layers导入MaxPoolig2D,池
从keras.layers导入GlobalMapooling2D
从keras.layers导入ZeroPadding2D
从keras.layers导入平均池2D
从keras.layers导入GlobalAveragePoolig2D
从keras.layers导入批处理规范化
从keras.models导入模型
从keras.preprocessing导入图像
将keras.backend作为K导入
从keras.utils导入图层\u utils、np\u utils
从keras.utils.data\u utils导入get\u文件
从keras.applications.imagenet\u utils导入解码\u预测
从keras.applications.imagenet_utils导入预处理输入
从keras_applications.imagenet_utils import获取输入形状
从keras.engine.topology导入获取\u源\u输入
从keras.models导入顺序
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
培训文件输入='C:/Users/my/Desktop/input/train/trainig\u tfmed'
培训文件输出='C:/Users/my/Desktop/input/train/trainig\u original'
test\u file\u input='C:/Users/my/Desktop/input/test/test\u tfmed'
test\u file\u output='C:/Users/my/Desktop/input/test/test\u original'
x_列车=[]
y_train=[]
nop=np.array([None])
培训文件输入列表=os.listdir(培训文件输入)
test\u file\u input\u list=os.listdir(test\u file\u input)
对于范围内的i(1,len(培训文件输入列表)+1):
input_filename=training_file_input+'/tfmed_trainig_'+str(i)+'.jpg'
input\u image=image.open(输入\u文件名)
输入图像=输入图像。转换(“RGB”)
input_image=input_image.resize((256,256),image.ANTIALIAS)
input\u image=np.array(input\u image,dtype=np.float32)
x_列附加(输入_图像)
#x_train=np.append(nop,输入_图像)
输出\文件名=训练\文件\输出+'/original\训练\文件+'+str(i)+'.jpg'
output\u image=image.open(output\u文件名)
输出图像=输出图像。转换(“RGB”)
output_image=output_image.resize((256,256),image.ANTIALIAS)
output\u image=np.array(output\u image,dtype=np.float32)
y_序列追加(输出_图像)
#y\u序列=np.append(nop,输入\u图像)
##加载测试文件
x_检验=[]
y_检验=[]
对于范围内的i(1,len(测试文件输入列表)+1):
input_filename=test_file_input++'/tfmed_test_'+str(i)+'.jpg'
input\u image=image.open(输入\u文件名)
输入图像=输入图像。转换(“RGB”)
input_image=input_image.resize((256,256),image.ANTIALIAS)
input\u image=np.array(input\u image,dtype=np.float32)
x_test.append(输入_图像)
#x_test=np.append(nop,输入_图像)
output_filename=test_file_output+/original_test_'+str(i)+'.jpg'
output\u image=image.open(output\u文件名)
输出图像=输出图像。转换(“RGB”)
output_image=output_image.resize((256,256),image.ANTIALIAS)
output\u image=np.array(output\u image,dtype=np.float32)
y_test.append(输出_图像)
#y_test=np.append(nop,输入_图像)
#   
列车=np.asarray(列车)
y_列车=np.asarray(y_列车)
x_检验=np.asarray(x_检验)
y_检验=np.asarray(y_检验)
打印('模型加载')
模型=顺序()
添加(Conv2D(17,(3,3),padding='same',strips=(1,1),activation='relu',input_shape=(256,256,1)))
打印(型号输出形状)
add(Conv2D(32,(3,3),padding='same',strips=(1,1),activation='relu'))
打印(型号输出形状)
add(pooling.maxpoolig2d(pool_size=(2,2),strips=(2,2)))
打印(型号输出形状)
add(Conv2D(48,(3,3),padding='same',strips='1,1',activation='relu'))
打印(型号输出形状)
add(Conv2D(64,(3,3),padding='same',strips='1,1',activation='relu'))
打印(型号输出形状)
add(pooling.maxpoolig2d(pool_size=(2,2),strips=(2,2)))
打印(型号输出形状)
add(pooling.maxpoolig2d(pool_size=(2,2),strips=(2,2)))
打印(型号输出形状)
add(Conv2D(96,(3,3),padding='same',strips='1,1',activation='relu'))
打印(型号输出形状)
add(Conv2D(128,(3,3),padding='same',strips='1,1',activation='relu'))
打印(型号输出形状)
add(pooling.maxpoolig2d(pool_size=(2,2),strips=(2,2)))
打印(型号输出形状)
add(pooling.maxpoolig2d(pool_size=(2,2),strips=(2,2)))
打印(型号输出形状)
add(Conv2D(192,(3,3),padding='same',strips=(1,1),activation='relu'))
打印(型号输出形状)
add(Conv2D(256,(3,3),padding='same',strips='1,1',activation='relu'))
打印(型号输出形状)
add(pooling.maxpoolig2d(pool_size=(2,2),strips=(2,2)))
打印(型号输出形状)
add(Conv2D(256,(3,3),padding='same',strips='1,1',activation='relu'))
打印(型号输出形状)
add(conv2dtranpse(256,内核大小=(2,2),步幅=(2,2),激活=(relu'))
打印(型号输出形状)
add(conv2dtranspse(192,内核大小=(2,2),步幅=(2,2),激活=(relu'))
打印(型号输出形状)
模式