我想使用Merge图层将两个连续模型合并为一个,但它显示错误。我正在使用尺寸为128x128(RGB图像)且批量大小为32的图像。
错误是:ValueError:模型需要3个输入数组,但只接收一个数组。找到:具有形状的阵列(32,3,128,128)
模型是:
model = Sequential() leftBranch = Sequential()
leftBranch.add(Reshape((3,128,128), input_shape=(3, img_width, img_height)))
leftBranch.add(Convolution2D(14, 3, 1, activation='relu'))
leftBranch.add(ZeroPadding2D((1, 1)))
leftBranch.add(Flatten())
rightBranch = Sequential()
rightBranch.add(Reshape((3,128,128), input_shape=(3, img_width, img_height)))
rightBranch.add(Convolution2D(14, 1, 3, activation='relu'))
rightBranch.add(MaxPooling2D((2, 2), strides=(2, 2)))
rightBranch.add(Flatten())
centralBranch = Sequential()
centralBranch.add(Reshape((3,128,128), input_shape=(3, img_width, img_height)))
centralBranch.add(Convolution2D(14, 5, 5, activation='relu'))
centralBranch.add(MaxPooling2D((2, 2), strides=(2, 2)))
centralBranch.add(Flatten())
merged = Merge([leftBranch, centralBranch, rightBranch], mode='concat')
model = Sequential()
model.add(merged) model.add(Dense(64))
model.add(Activation('relu')) model.add(Dropout(0.5)) model.add(Dense(1))
model.add(Activation('sigmoid'))
出现错误:ValueError:模型需要3个输入数组,但只接收一个数组。找到:具有形状的阵列(32,3,128,128)
所以,什么是将两个顺序模型与卷积层连接起来的正确方法。我只是想合并卷积层输出,就像我在这里做的那样。