我正在使用以下使用 Keras 的卷积网络。
def CNN_model():
# Create model
model = Sequential()
model.add(Conv2D(10, (3, 3), input_shape=(1, 256, 256), activation='elu'))
model.add(Conv2D(10, (3, 3), activation='elu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(10, (3, 3), activation='elu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Conv2D(10, (3, 3), activation='elu'))
model.add(MaxPooling2D(pool_size=(10, 10)))
model.add(Flatten())
model.add(Dropout(0.3))
model.add(Dense(64, activation='elu'))
model.add(Dropout(0.3))
model.add(Dense(16, activation='elu'))
model.add(Dense(nb_models, activation='softmax'))
# Compile model
my_adam_optimizer = Adam(lr=initial_learning_rate, decay=decay_rate)
model.compile(loss='categorical_crossentropy', optimizer=my_adam_optimizer, metrics=['accuracy'])
return model
我不明白为什么每次我尝试训练我的模型时内核都会停止。如果你只是移除第二个卷积层(移除model.add(Conv2D(10, (3, 3), activation='elu'))
),那么模型就适合了。
有谁知道为什么我不可能连续放置两个卷积层?