首页 Paddle框架 帖子详情
Paddle 2.0不向下兼容点(相对1.8)
收藏
快速回复
Paddle框架 其他深度学习 10994 10
Paddle 2.0不向下兼容点(相对1.8)
收藏
快速回复
Paddle框架 其他深度学习 10994 10

Paddle 2.0不兼容升级(相对1.8)


训练的不兼容变化 ( 原1.8的代码,在2.0下不能正常、正确训练的问题。)


  • 1、Paddle-2.0 rc 默认开启动态图模式


变化说明
Paddle-2.0 rc后,Paddle默认开启动态图。即,当用户调用import paddle后,此时Paddle已经运行在动态图模式下。


不兼容错误表现
基于1.8开发的静态图代码,在2.0-rc下直接执行会出错。为此,我们在静态图的一些入口API 中加入了报错检查,例如直接调用fluid.data会遇到如下错误:


解决方案
原来依赖于默认静态图的代码需要在import paddle后的头部位置加入paddle.enable_static()来开启静态图模式,这样才能正常运行。
原来通过dygraph guard来写的动态图代码仍然可以正常执行。但在2.0-rc下可以不需要像以前写dygraph guard,直接按照动态图模式编写代码。
同时,请注意对于GPU版本的paddle,在import paddle时默认开启动态图会选择CUDAPlace作为默认place。如果要修改place,可以通过paddle.set_device()来完成。


  • 2、LSTM OP的输入端名称及实现方式修改


变化说明
paddle.fluid.layers.lstm 对应的OP kernel输入端定义从last_h修改为LastH,last_c改为LastC。
新增了SequenceLength等输入接口。
新增了Reserve,StateOut等输出接口。


不兼容错误表现
使用1.8的接口会报错cudnn状态问题:ExternalError: Cudnn error, CUDNN_STATUS_EXECUTION_FAILED


解决方案
使用2.0rc中paddle.nn.LSTM接口,具体使用细节,可查看官网中的LSTM的例子


  • 3. Paddle-2.0 rc 移除部分依赖第三方库


变化说明
Paddle-2.0 rc 移除了一些第三方依赖库,包括 graphviz, objgraph, matplotlib, nltk, opencv, pyyaml这6项. 


不兼容错误表现
(1)原来Paddle基于这些第三方库提供了一些API,现在这些API被删除了。例如,
移除matplotlib的同时,原来的paddle.utils.plot也被删除了。
移除nltk的同时,依赖nltk的数据集sentiment(nltk.movie_reivew)数据集也被删除了。


(2)原来安装paddle后,默认这些第三方库就被安装了,可以直接使用,现在可能会出错。
例如,安装paddle-2.0 rc后,直接import objgraph可能会报错。


解决方案
使用了这些第三方库的代码需要手动install一下相应的库,并使用相应的API完成想要的功能。

0
收藏
回复
全部评论(10)
时间顺序
AIStudio810258
#2 回复于2020-10

感谢整理分享,2.0变化挺大的,感觉已经尽量兼容了吧。

0
回复
AIStudio810258
#3 回复于2020-10

好多组件都用加1d、2d、3d的方式与原api区分。

0
回复
AIStudio810258
#4 回复于2020-10

现在还是beta版,正式应该兼容会更好些吧~~感谢提醒。

0
回复
AIStudio810261
#5 回复于2020-10
感谢整理分享,2.0变化挺大的,感觉已经尽量兼容了吧。

这次核心思路是不管什么兼容不兼容了, 按理想升级一大步. 

然后未来2.x/3.x都和2.0兼容. (未来再好好保障向下兼容性)

1
回复
AIStudio810259
#6 回复于2020-10

出个rc教程呗,好几天没新帖子了。

0
回复
AIStudio810258
#7 回复于2020-10
这次核心思路是不管什么兼容不兼容了, 按理想升级一大步.  然后未来2.x/3.x都和2.0兼容. (未来再好好保障向下兼容性)

懂了,赶紧投奔2.0~~

0
回复
Zohar
#8 回复于2020-10

项目是时候升级到2.0了

0
回复
AIStudio810258
#9 回复于2020-11

beta的项目需要改动的不是很多

一个cyclegan项目只需改Conv2d变为大写D,归一化也是,

转置卷积名称也更合理了

0
回复
七年期限
#10 回复于2020-11
懂了,赶紧投奔2.0~~

估计会要求升级的

0
回复
七年期限
#11 回复于2020-11

感谢分享

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