如果需要全部权重载入,直接使用权重载入方式
model.save_weights('./weigths.h5') model2.load_weights('./weigths.h5')
但是有时候你只需要载入部分权重
所以你可以这样操作
首先,为所有层命名,在层中直接加入方法 name='layer1'
第二,使用,将你不需要载入权重的值更改名字。
最后,载入权重。
x=BatchNormalization(axis=channel_axis,name='layer2')(x)
model2.layers[-1].name='pred' model2.load_weights('./weigths.h5',by_name=True)
上面的代码是对应的操作,这里我除了最后一层,其他层我都加载了权重,记住,by_name 必须赋值为True 这样才能够按照名称对应赋值权重。
注意:两个模型结构必须一样,不然可能出问题
热门工具 换一换