找回密码
 立即注册
查看: 718|回复: 5

百度paddlepaddle真的有人用吗?

[复制链接]

14

主题

0

回帖

57

积分

版主

积分
57
发表于 2023-5-4 18:19:50 | 显示全部楼层 |阅读模式
比来参加aistudio上的论文复现大赛,学习了一波paddlepaddle(V100确实诱人)。前几天把模型大体实现了,前向传布完全没有问题,但是反向传布时,一个loss出core了,但是很奇怪训练时可以迭代几次,然后才犯错。没有bug check,提交了issue,也没有答复,本身调来调去也不知道哪里出问题了,感觉本身这两周时间唉。
期间也遇到各种问题,感觉paddle的相关资料是真的少,解决问题完全只能通过本身啃文档,提issue。
在其他比赛平台,从来没有看到过paddle的影子,开源论文也没见人用,所以挺想知道paddlepaddle真的有人用吗,
之前用的pytorch,以为paddle此刻应该挺成熟了,就测验考试下,感觉还是回去用pytorch吧。
回复

使用道具 举报

1

主题

1

回帖

5

积分

新手上路

积分
5
发表于 2023-5-4 18:19:58 | 显示全部楼层
很多回答都在踩paddle,但是我用paddledet和paddleseg两个套件拿了2021CVPR Short-video Face Parsing Challenge的第三,我个人用的还是比较顺滑的,期间也发现了几个bug,提交issue后也有回复,后续也更新了。paddle改了动态图版本写起来和torch很相似,paddleseg模块很清晰,比起mmseg嵌套来嵌套去的,改起来是相当顺手。
还能白嫖ai studio的v100,要啥自行车
回复

使用道具 举报

0

主题

2

回帖

16

积分

新手上路

积分
16
发表于 2023-5-4 18:20:42 | 显示全部楼层
作为一名同样是跨行——小白,我花时间学并用了3个月,我觉得有必要谈谈我的感想:
先说结论:体验后最后发现的结果是,Paddle极其各种组件(由于我使用的主要是paddledetection,在这里先说明一下,是对新手小白非常不友好。原因如下:
(先说明,我是支持国产的,不然也不会自己真的花了这么多时间去钻研,但是个人结果是令人失望的。)
一、bug有很多
(具体一点,我用paddledetection仅仅用了内置的ppyolov3模型,想做个小动物的视觉识别工作,想自己训练个数据集,仅此一个简单的小项目里,我遇到至今遇到不下于10种大小报错,很多问题都是教程讲解含糊其辞,或者版本更新了,但教程不更新,或者文档更新以后,老版本的内容并不保留导致旳使用出错。其中不下于5种报错,大多都是程序的版本和教程的版本不对应、官方教程讲解非常跳跃或者概略、官方文档更新滞后等,个人认为,对新手不友好导致旳),很多时候甚至连官方demo都跑不通(居然报错)。我是在win10上用的,别告诉我非得去ubuntu才能运行,我不听我不听。
二、过于小众,解决小问题几乎全靠自己,出了问题后去网上查,发现很多都是“全网甚至都搜不到”的问题?(近乎,全网查不到相关信息,只能靠自己把代码看懂,解决问题。反观隔壁ten?flow,除了问题上网搜索,相关的经验和详细解答一大把。甚至有段时间,我是看tensorflow的经验去解决paddledetection里遇到的报错问题只能说太小众了,出了啥问题,debug是全靠自己,csdn上有很多教程,但问题是真的解决不了,依然还是报错。那么问题来了,如果我能自己debug的话,为什么还要用Paddle呢,caffe它不香么)
三、报错提示不清晰
导致难以快速定位问题并修改。这里举几个亲身遇到的例子:A,所谓的边训练边评价功能,也就是--eval,在训练前期eval会直接卡住,显示eval iter() 0,然后就不动了,命令行光标闪烁表明程序仍然运行,但并无任何报错提示。问题无从定位和解决,当时卡了我好久。B,visualDL,这个问题我到现在都没有解决,打算放弃Paddle了:训练以后生成了.log文件,按照官方md文件中的操作,输入visualdl --logdir 相应的路径/.log,以后,打开浏览器,提示:


然后就没有然后了,无限循环。无任何报错提示,直接荒废新手一下午。换了谷歌浏览器,仍然如此。C,很多md使用说明文件里面存在跳转github的链接,然后,国内用户无法打开。D,说明文件md存在残缺的情况。比如:


该文档第一次提出了“打点数据标签”的“打点”概念,然而确实第一次出现,没有相关说明,作为新手,难以理解并使用。(隔壁文档也搜不到解释)别告诉我要先学会tensorboard然后才能,再回来使用visualDL,晕。何必呢?E,由于batchsize导致旳内存溢出问题我就不说了,已经很多人问过了。F,命令行中,各种提示error key(4)/key(9)的报错提示,搜索不到,没有大神讲过,只能靠自己去看懂那部分的源代码,然后慢慢摸索解决报错。
四、文档问题多,甚至一些demo都难运行畅通
随手实图举例:


如下图,VDL是一款paddle推出的,“不错的”深度学习模型可视化套件,当我打开它的模型结构展示界面的时候,我顺手拖入了一个实测可训练可预测的yolo模型文件,然而结局是这样的:


后来寻思,是不是我自己训练的模型它就不支持可视化,于是,楼主又找来了官方自带的的(会让你自动下载的)ppyolo预训练模型.pdparams:


结果是同样的报错,并且也没有其他提示。更令人印象深刻的是:


报错就算了,报错信息还有明显的错别字。“dose”。\汗  难道剂量不对么?
总之,由于教程讲解中经常不区分linux和windows,mac就更难了。我自己遇到的,群里别人问过的,总之,作为一个新手,你可能跑个demo都报错,并且相关的报错提示难以检索到解答,查不到常见报错的解答。文档说明存在跳跃,对新手非常不友好。首先不得不吐槽的是,说明文档中大量的篇幅都是在描述paddle模型的优势,这个我不反驳,而具体的操作代码,却存在惜字如金,比如,有时候文档示例的代码是用在多显卡分布式训练的场景下的,但上下文中却并没有任何提示(见下图),新手运行以后,就一定报错。(不是指全部,但确实有很多坑


总之,如果是新手的话,个人认为至少现阶段,不推荐。
回复

使用道具 举报

0

主题

1

回帖

15

积分

新手上路

积分
15
发表于 2023-5-4 18:21:31 | 显示全部楼层
目前深度学习的框架,也算是都试过了吧,说一下个人体验:
1、百度paddle paddle 做的最好的目前来看是教育和推广,当然其他的也不差,但是对完全零基础的,就是程序代码都没有接触过的人而言是最友好的,目前aistudio 运营的也不错,所以并不是没人用,那些在学的人也是人。
2、我个人是从TensorFlow出colab开始用框架来玩在线编程和在线的深度学习的,个人感觉colab目前在线编程和部署的感觉依旧很差。然后百度aistudio 做的很好,不黑也不吹,让我很惊喜,在线编程对于创业公司来讲很友好,对于车库项目也很友好,这就不用我多说了,创业公司如果用在线编程多的话,那么以后应该就是在线编程的天下,当然还有代码生成。
3、我们项目用的最多的就是pytorch 和 Keras ,个人体验是也有很多坑,并不像某些人吹的那么好,当然有坑是自然的,就是要啃文档和啃这些工具包的源代码。这也就引出了我的第四个观点。
4、现在白嫖党这么理直气壮了吗?我记得七八年前我们在学校公司里敲代码的时候可用的框架还有库很少,都是自己还有朋友看书交流,上网交流研究,别人开源了一些,当然别人开源的不多的确不太能支撑我的观点,但是毕竟我们是白嫖啊,还有那么多屁事?毕竟不是还有文档还有源码能研究吗?嫖习惯了,就觉得是理所当然了?感觉这种用户也干不了个啥,各个框架也没必要在意他们。
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2023-5-4 18:22:03 | 显示全部楼层
我们在最新的版本会解决这两个问题。题主可以直接私信我,再帮你看看具体的情况。
如果大家在使用飞桨过程中还有什么疑惑,可以直接私信我为大家解答哟~
回复

使用道具 举报

0

主题

2

回帖

4

积分

新手上路

积分
4
发表于 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目前的用户比较少,比较小众。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|T9AI - 深度人工智能平台 ( 沪ICP备2023010006号 )

GMT+8, 2024-11-23 20:33 , Processed in 0.057304 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表