BatchNorm在训练时加载预测时保存的模型参数时报错
收藏
BatchNorm在训练时加载预测时保存的模型参数时报错:AssertionError: Optimizer set error, batch_norm_1.w_0_moment_0 should in state dict.
分析原因:BatchNorm在train模式和eval模式下需要的变量有差别,在train模式下要求传入优化器相关的变量,在eval模式下不管是保存参数还是加载参数都是不需要优化器相关变量的,因此如果在train模式下加载eval模式下保存的checkpoint,没有优化器相关的变量则会报错。
DeepGeGe
已解决
2#
回复于2021-12
如果想在train模式下加载eval模式下保存的checkpoint的话,用 paddle.load 加载进来参数之后,通过 set_state_dict 接口把参数赋值给模型: [代码]
0
收藏
请登录后评论
如果想在train模式下加载eval模式下保存的checkpoint的话,用 paddle.load 加载进来参数之后,通过 set_state_dict 接口把参数赋值给模型: