最后一章中 如何保存模型?
来源:10-7 损失函数与单步训练函数
qq_慕粉0086819
2019-10-21
我输入encoder.save(‘encoder.h5’)会报错 改为encoder.save(‘encoder’,save_format=‘Tf’)依旧不对
写回答
2回答
-
正十七
2019-12-01
同学你好,目前来看,对于子类继承的模型,tensorflow2.0中不支持h5格式的保存,对于Sequential的模型才可以保存。而我们的transformer模型,并不是层级结构。因而目前不支持h5格式。
而对于encoder.save(‘encoder’,save_format=‘Tf’)的失败,则是因为我们的模型输入比较复杂,call函数的参数除了input还有mask信息。要想save_format = TF成功,只能有input信息,所以并不符合我们模型的需求。所以也无法实现。
目前可行的方法是checkpoint,即只存储模型的参数。这点我们已经在代码中实现了。可以参考最新的代码。
00 -
正十七
2019-10-24
同学你好,关于这个问题,我发现是个常见问题,已经放到git的readme的pending issue中,稍后会更新到代码库,届时我再来问题下提醒。 https://git.imooc.com/coding-344/tensorflow2.0_course
00
相似问题