Tensorflow 错误:模型需要3个输入数组,但只收到一个数组。已找到:具有形状的数组(10,20,50,50,1)
我使用的是包含在20块中的50x50图像,也就是说,我的numpy数组是20x50x50 我正在使用多尺度3d cnn网络的序列模型…我不知道我得到了这样的结果Tensorflow 错误:模型需要3个输入数组,但只收到一个数组。已找到:具有形状的数组(10,20,50,50,1),tensorflow,deep-learning,keras,conv-neural-network,Tensorflow,Deep Learning,Keras,Conv Neural Network,我使用的是包含在20块中的50x50图像,也就是说,我的numpy数组是20x50x50 我正在使用多尺度3d cnn网络的序列模型…我不知道我得到了这样的结果 任何帮助都将不胜感激。请编辑您的帖子,添加一些代码并将其格式化为well@M.Situation请帮助我…如果你不懂我的代码,请说你的电子邮件,我会给你发邮件…谢谢你的友好回复…我是一个新手stackoverflow@M.Situation我…请看 main_model = Sequential() main_model.add(C
任何帮助都将不胜感激。请编辑您的帖子,添加一些代码并将其格式化为well@M.Situation请帮助我…如果你不懂我的代码,请说你的电子邮件,我会给你发邮件…谢谢你的友好回复…我是一个新手stackoverflow@M.Situation我…请看
main_model = Sequential()
main_model.add(Conv3D(32, 3, 3,3, input_shape=(20,50,50,1)))'
main_model.add(Activation('relu'))
main_model.add(MaxPooling3D(pool_size=(2, 2,2))
main_model.add(Conv3D(64, 3, 3,3))
main_model.add(Activation('relu'))
main_model.add(MaxPooling3D(pool_size=(2, 2,2)))
main_model.add(Dropout(0.8))
main_model.add(Flatten())
#lower features model - CNN2
lower_model1 = Sequential()
lower_model1.add(Conv3D(32, 3, 3,3, input_shape=(20,50,50,1)))
lower_model1.add(Activation('relu'))
lower_model1.add(MaxPooling3D(pool_size=(2, 2,2)))
lower_model1.add(Dropout(0.8))
lower_model1.add(Flatten())
#lower features model - CNN3
lower_model2 = Sequential()
lower_model2.add(Conv3D(32, 3, 3,3, input_shape=(20,50,50,1)))
lower_model2.add(Activation('relu'))
lower_model2.add(MaxPooling3D(pool_size=(2, 2,2)))
lower_model2.add(Dropout(0.8))
lower_model2.add(Flatten())
merged_model = Merge([main_model, lower_model1,lower_model2],mode='concat')
final_model = Sequential()
final_model.add(merged_model)
final_model.add(Dense(1024,init='normal'))
final_model.add(Activation('relu'))
final_model.add(Dropout(0.5))
final_model.add(Dense(2,init='normal'))
final_model.add(Activation('softmax'))
final_model.compile(loss='binary_crossentropy', optimizer='Adam', metrics=
['accuracy'])
train=train_data[-10:]
test=train_data[-2:]
X = np.array([i[0] for i in train]).reshape(-1,20,50,50,1)
Y = [i[1] for i in train]
test_x = np.array([i[0] for i in test]).reshape(-1,20,50,50,1)
test_y = [i[1] for i in test]
final_model.fit(np.array(X),np.array(Y),validation_data=
(np.array(test_x),np.array(test_y)),batch_size=batch_size,nb_epoch =
nb_epoch,validation_split=0.2,shuffle=True,verbose=1)