Нет , вам не нужно снова компилировать после тренировки.
На основе вашей Последовательной модели.
Layer 0 :: model.add(ResNet50(include_top = False, pooling = RESNET50_POOLING_AVERAGE, weights = resnet_weights_path)) #None
Layer 1 :: model.add(Dense(784, activation = 'relu'))
Layer 2 :: model.add(Dense(NUM_CLASSES, activation = DENSE_LAYER_ACTIVATION))
Доступ уровни могут отличаться, если используется Подход функционального API .
Используя Tensorflow 2.1.0 , вы можете попробовать этот подход, если хотите получить доступ к промежуточным выходам.
model_dense_784 = Model(inputs=model.input, outputs = model.layers[1].output)
pred_dense_784 = model_dense_784.predict(train_data_gen, steps = 1) # predict_generator is deprecated
print(pred_dense_784.shape) # Use this to check Output Shape
Настоятельно рекомендуется использовать метод model.predict()
вместо model.predict_generator()
, поскольку он уже устарел .
Вы также можете использовать метод shape()
, чтобы проверить, сгенерированный вывод является таким же , как указано в model.summary()
.