|
发表于 2023-5-4 18:22:19
|
显示全部楼层
用的人很少很少,不过百度开源的一些论文代码倒是有paddlepaddle实现的版本,比如PyramidBox。
但说实话,就易用性来讲,paddlepaddle不如tensorflow,tensorflow不如pytorch。对于研究者来说,paddlepaddle最大的问题有两个:
1)不方便改动预训练的模型,功能封装的逻辑层次不是很清晰(总之对新手不友好,参考pytorch和paddle你就知道了),你要是想用paddle去改框架内预训练的模型,那可得花不少时间,而pytorch很方便。至于pytorch修改预训练模型的方法,我总结了一下,可以看这里:
Pytorch修改预训练模型的方法汇总_weixin_42118374的博客-CSDN博客_pytorch修改预训练模型(另外,有一点想特别提一下,pytorch的nn.modules类的forward方法支持多个输入数据,比如forward(self, x1, x2, x3),x1~x3可以来自不同的数据集,这样你在做多任务学习,或者想同时训练多个数据集时就会很方便。这么做有个好处,同时训练多个数据集的相同标签或者多个数据集不同标签数据,可以让模型适应多领域的分布(相当于达到了领域自适应的效果),而且这样会非常有效地避免过拟合的情况,在反向传播时,每一个x会对应地在路径上去对各参数求偏导,最后得到一个总的导数,这样也控制了损失函数的收敛方向,使得损失函数不至于收敛到某些局部最优的位置)
2)paddle用户太少,本身开源的代码就不多,从别的平台把代码移植过去会有很多坑。
最后总结一下,
在学术研究领域,pytorch是主流(2020年),基本上绝大多数搞AI的人都会先在pytorch上跑模型做实验,因为pytorch很好改动源码(预训练模型的代码也很容易改动),所以想在别人的基础上去做自己的东西会非常方便。
在工业应用领域,tensorflow是主流(2020年),tensorflow将训练好的模型部署到移动端会非常方便,有个专门的TF lite可以帮忙做很多事情,而pytorch目前要部署模型到生产环境中会比较头疼,各种bug就出现了。
paddle目前的用户比较少,比较小众。 |
|