我剪掉了代码,因为它非常耐用,这里是学习率调度器的代码,模型使用该优化器。
initial_learning_rate = 0.001
lr_schedule = tf.keras.optimizers.schedules.ExponentialDecay(
initial_learning_rate,
decay_steps=100000,
decay_rate=0.96,
staircase=False)
opt=tf.keras.optimizers.SGD(learning_rate=lr_schedule)
这是模型保存代码。我在model.fit之后保存了它
midmodel_2.save('../HY/HY_history/5fold/{}'.format(model_name2))
with open('../HY/HY_history/5fold/{}'.format(model_history_name2), 'wb') as f:
pickle.dump(history.history, f)
midmodel_2.save_weights('../HY/HY_history/5fold/{}'.format(model_weight2))
加载模型代码在这里
import keras
from keras.models import load_model
loaded_model=load_model('./mobilenetv2_epoch50_fold1_210402_Adagrad_AugNo_25_freeze_schYes.h5')
loaded_model.load_weights('./mobilenetv2_epoch50_fold1_210402_Adagrad_AugNo_25_freeze_schYesw.h5')
这是我遇到的错误,在此屏幕截图中,我没有使用 GPU,但即使在控制台中使用 gpu 也会引发相同的错误。
Exception has occurred: ValueError
Attempt to convert a value ({'class_name': 'ExponentialDecay', 'config': {'initial_learning_rate': 0.001, 'decay_steps': 100000, 'decay_rate': 0.96, 'staircase': False, 'name': None}}) with an unsupported type (<class 'dict'>) to a Tensor.
File "D:\lab2\2021_cell\code\load_test\test.py", line 8, in <module>
`loaded_model=load_model('./mobilenetv2_epoch50_fold1_210402_Adagrad_AugNo_25_freeze_schYes.h5')`
我确实使用'tensorflowjs_converter'将model.h5文件转换为model.json,但它也无法加载模型。有没有办法在没有培训的情况下加载它并再次将其保存为 json 格式?