Почему я не могу получить данные промежуточных слоев сети Keras?
Пытаюсь получить выходные данные промежуточных слоев Sequential, делаю все как в документации Keras: создаю и обучаю модель, а затем создаю модели как "обрезанные" версии существующей:
model = keras.Sequential([
Conv2D(8, (3,3), padding='same', activation='relu', input_shape=(700, 700, 1), name='conv1'),
MaxPooling2D((2, 2), strides=2, padding='same', name='mp1'),
Conv2D(16, (3,3), padding='same', activation='relu', name='conv2'),
MaxPooling2D((2, 2), strides=2, padding='same', name='mp2'),
Flatten(),
Dense(128, activation='relu'),
Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy'])
model.fit(imgs, labels, epochs=5, validation_split=0.1, batch_size=2)
pred = model.predict(img)
print("Прогноз:", pred, "правильный:", right)
pred1 = Model(inputs=model.input, outputs=model.get_layer('conv1').output)
Но получаю ошибку:
ValueError: The layer sequential has never been called and thus has no defined input.
Подскажите, пожалуйста, как мне решить проблему?