error: The model expects 3 input arrays, but only received one array. Found: array with shape (10, 20, 50, 50, 1)

醉酒当歌 提交于 2019-12-23 16:09:06

问题


 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)

i'm using 50x50 images contained in 20 chunk and that's y my numpy array is 20x50x50 1st and 2nd modelsI'm using sequential model for multi scale 3d cnn network...i don't know y i'm getting this kind of result

see val_acc,val_loss stays the same in every epoch

来源:https://stackoverflow.com/questions/43476708/error-the-model-expects-3-input-arrays-but-only-received-one-array-found-arr

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!