Использование собственного оптимизатора в Keras после загрузки модели
Я хотел бы использовать AdamW optimizer
в keras
за NN
обучение, согласно: https://github.com/GLambard/AdamW_Keras
Я импортирую это, и код, кажется, работает как рекламируется. К сожалению, когда я загружаю сохраненную контрольную точку, я получаю сообщение об ошибке:
file "ResUNET.py", line 209, in <module>
'peteLoss': mc.peteLoss, 'iou_one_Metric': mc.iou_one_Metric, 'adamw': adamw})
File "/home/pete/anaconda3/lib/python3.6/site-packages/keras/engine/saving.py", line 276, in load_model
custom_objects=custom_objects)
File "/home/pete/anaconda3/lib/python3.6/site-packages/keras/optimizers.py", line 760, in deserialize
printable_module_name='optimizer')
File "/home/pete/anaconda3/lib/python3.6/site-packages/keras/utils/generic_utils.py", line 138, in deserialize_keras_object
': ' + class_name)
ValueError: Unknown optimizer: AdamW
Я передаю пользовательский объект в соответствии с:
model = load_model(save_model_name,custom_objects={
'my_iou_metric': mc.my_iou_metric,
'my_iou_metric_2': mc.my_iou_metric_2,
'lovasz_loss': mc.lovasz_loss,
'peteLoss': mc.peteLoss,
'iou_one_Metric': mc.iou_one_Metric,
'adamw': adamw})
Это работает для потерь и т. Д., Но не для оптимизатора.