Ошибка типа: нераспознанные аргументы ключевого слова: ['batch_shape'] при загрузке модели KerasPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка типа: нераспознанные аргументы ключевого слова: ['batch_shape'] при загрузке модели Keras

Сообщение Anonymous »

Я работаю над проектом по распознаванию лиц, где обучил модель с помощью TensorFlow/Keras и сохранил ее как face_recog_vggface.h5. При попытке загрузить модель с помощью tf.keras.models.load_model() я столкнулся со следующей ошибкой:

Код: Выделить всё

TypeError                                 Traceback (most recent call last)
Cell In[20], line 3
1 # Load the trained model
2 model_path = 'face_recog_vggface.h5'
----> 3 model = tf.keras.models.load_model(model_path, custom_objects={'triplet_loss': triplet_loss_function})

File ~/.local/lib/python3.8/site-packages/keras/src/saving/saving_api.py:238, in load_model(filepath, custom_objects, compile, safe_mode, **kwargs)
230     return saving_lib.load_model(
231         filepath,
232         custom_objects=custom_objects,
233         compile=compile,
234         safe_mode=safe_mode,
235     )
237 # Legacy case.
--> 238 return legacy_sm_saving_lib.load_model(
239     filepath, custom_objects=custom_objects, compile=compile, **kwargs
240 )

File ~/.local/lib/python3.8/site-packages/keras/src/utils/traceback_utils.py:70, in filter_traceback..error_handler(*args, **kwargs)
67     filtered_tb = _process_traceback_frames(e.__traceback__)
68     # To get the full stack trace, call:
69     # `tf.debugging.disable_traceback_filtering()`
---> 70     raise e.with_traceback(filtered_tb) from None
71 finally:
72     del filtered_tb

File ~/.local/lib/python3.8/site-packages/keras/src/engine/base_layer.py:870, in Layer.from_config(cls, config)
868     return cls(**config)
869 except Exception as e:
--> 870     raise TypeError(
871         f"Error when deserializing class '{cls.__name__}' using "
872         f"config={config}.\n\nException encountered: {e}"
873     )

TypeError: Error when deserializing class 'InputLayer' using config={'batch_shape': [None, 224, 224, 3], 'dtype': 'float32', 'sparse': False, 'name': 'input_layer'}.

Exception encountered: Unrecognized keyword arguments: ['batch_shape']

Код: Выделить всё

# Model Definition
from tensorflow.keras.applications.vgg16 import VGG16
from tensorflow.keras.models import Model
from tensorflow.keras.layers import GlobalAveragePooling2D, Dense

def build_model():
base_model = VGG16(include_top=False, input_shape=(224, 224, 3))
x = base_model.output
x = GlobalAveragePooling2D()(x)
x = Dense(128, activation='relu')(x)
model = Model(inputs=base_model.input, outputs=x)
return model

model = build_model()
model.save('face_recog_vggface.h5')

# Model Loading
from tensorflow.keras.models import load_model
model = load_model('face_recog_vggface.h5', custom_objects={'triplet_loss': triplet_loss})

Я сохранил модель после обучения как face_recog_vggface.h5, и при попытке загрузить ее появляется ошибка, как показано выше. Почему? Я использовал tensorflow==2.13, чтобы загрузить его с версией keras, которая все еще 2.13.

Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-a-keras
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»