首页 Paddle框架 帖子详情
什么情况下save与load的结果不一致呢,应该如何避免这种情况发生呢? 已解决
收藏
快速回复
Paddle框架 问答模型训练深度学习 381 1
什么情况下save与load的结果不一致呢,应该如何避免这种情况发生呢? 已解决
收藏
快速回复
Paddle框架 问答模型训练深度学习 381 1

什么情况下save与load的结果不一致呢,应该如何避免这种情况发生呢?

旧鸱c_
已解决
2# 回复于2021-08
以下情况会造成save与load的结果不一致: 被保存的对象包含动态图Tensor同时包含tuple(string, numpy.ndarray); 被保存的对象包含静态图Tensor,同时包含numpy.ndarray或者tuple(string, numpy.ndarray); 被保存的对象只包含numpy.ndarray,但是包含tuple(string, numpy.ndarray)。 针对这些情况我们有以下建议: 被保存的对象(包括Layer对象中的ParamBase),避免包含形如tuple(string, numpy.ndarray)的对象; 如果被保存的对象包含numpy.ndarray,尽量在load时设置return_numpy = True。 对于Layer对象,只保存参数的值和名字,如果需要其他信息(例如stop_gradient),请将手将这些信息打包成dict等,一并保存。
展开
0
收藏
回复
全部评论(1)
时间顺序
旧鸱c_
#2 回复于2021-08

以下情况会造成save与load的结果不一致:

被保存的对象包含动态图Tensor同时包含tuple(string, numpy.ndarray);
被保存的对象包含静态图Tensor,同时包含numpy.ndarray或者tuple(string, numpy.ndarray);
被保存的对象只包含numpy.ndarray,但是包含tuple(string, numpy.ndarray)。
针对这些情况我们有以下建议:

被保存的对象(包括Layer对象中的ParamBase),避免包含形如tuple(string, numpy.ndarray)的对象;
如果被保存的对象包含numpy.ndarray,尽量在load时设置return_numpy = True。
对于Layer对象,只保存参数的值和名字,如果需要其他信息(例如stop_gradient),请将手将这些信息打包成dict等,一并保存。

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户