Я тренирую python модель, которая делает классификацию объектов. Затем я хочу использовать эту модель для извлечения объектов, но я не знаю всех названий слоев. код:
base_model = load_model('models/deepfake-detection-model.h5')
base_model.summary()
for layer in base_model.layers:
print(layer.name)
#extract = Model(model.inputs, layer_n) # Dense(128,...)
data= cv2.imread('dataset/real/eudeqjhdfd_4.png')
#features = extract.predict(data)
for l in base_model.layers:
print (l.output_shape)
layer_n=inception_resnet_v2
model = Model(inputs=base_model.input, outputs=base_model.get_layer(layer_n).output)
Я использовал функцию сводки модели, чтобы получить название слоя модели, но на выходе получилось
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
inception_resnet_v2 (Model) (None, None, None, 1536) 54336736
_________________________________________________________________
global_average_pooling2d (Gl (None, 1536) 0
_________________________________________________________________
dense (Dense) (None, 2) 3074
=================================================================
Total params: 54,339,810
Trainable params: 54,279,266
Non-trainable params: 60,544
_________________________________________________________________
inception_resnet_v2
global_average_pooling2d
denseb
(None, None, None, 1536)
(None, 1536)
(None, 2)
Traceback (most recent call last):
File "D:\Hamdy\Project of Gradition\code\python\hh.py", line 26, in <module>
layer_n=inception_resnet_v2
NameError: name 'inception_resnet_v2' is not defined
Может кто-нибудь помочь мне, рассказав, как узнать имя моделировать слои и использовать их в качестве метода выделения элементов?