paddle的动态图用的不多,不多做评价,主要说说静态图的缺点,
1.参数不初始化,这个超级的蛋疼,exe.run(fluid.default_startup_program()), 根本不能初始化全部的参数,需要自己手动调整的喂给网络中的fluid.data的位置,如果你的网络比较复杂,慢慢查错吧
1.对比tf.global_variable_initliazer(), tensorflow真正做到的全部的参数初始化
2.一但前向传播了,网络必定反向传播。虽然有fluid.program.clone这个操作,但是有的时候这个真的很麻烦(用paddle写DQN的时候非常的蛋疼)
2.对比tensorflow, 自己定义网络是不是要进行训练,可以只进行前向传播,不执行反向传播
3.VisualDL,感觉这个可能不是百度自己写的,有可能是外包的,可视化看网络结构图的时候就呵呵了,parl可能是后妈生的,ckpt不能可视化,只支持__model__文件
3.对比tensorboard, 告辞
再来说说Parl框架
为了宣传parl框架,NIPS2018冠军******,开始我也是冲着这个噱头来学习parl的,但是在学这个之前已经在用tensorflow写强化学习了。
后来parl告诉我:你虽然接受能力不强,但是你有强迫症啊,你还喜欢放飞自我。
1.拿冠军的不是parl,而是百度的算法人员,他们不用parl,用tensorflow,用pytorch也可以拿冠军,此处真的是佩服这些大佬。
2.parl定义了model,负责前向传播,algorithm负责算法更新, agent负责和环境互动,说起来层次分明,但是代码写起来,我感觉挺晕的,很冗余。
3.为什么要定义model,algorithm, agent。用tensorflow写了一次强化学习的代码感觉怎么用parl怎么别扭。
3.parl框架写起来那么多的波浪线,难道不觉得别扭吗。强迫症怎么受的了
4.有些错误很奇怪,昨天用ddpg做自动驾驶算法的时候,爆出来了一个问题,反复检查没查出问题在哪里,然后我就放弃了parl这个框架了。放弃用paddle做强化学习了。
为什么放弃Parl
1.相关资料少,可参考代码少
2.用起来不舒服,写起来很别扭,写代码的时候不能够放飞自我
3.时间不等人,导师要求进度,出了错,又不知道怎么改。到时候汇报不知道报什么?
老师:结果怎么样了?
我:代码有bug,不知道怎么改
老师:问师兄看看
我:师兄他们用的是tensorflow和pytorch,我用的是parl
老师:parl是什么东西?为什么不用tensorflow,pytorch,?
总而言之,paddle对比tensorflow还有很大的不足,希望paddle加油,继续改进
Paddle的新版本已经在推动态图了,静态图和动态图都有各自的优缺点
parl只是paddle生态下的一个套件,我个人觉得做些简单的项目的话,还是不错的,可能自动驾驶的算法太复杂了
paddle的集成个人感觉还是有点不足,如果能像keras一样,万物皆model就好了
楼主真得是很“深度”的使用了飞桨这个深度学习框架
2.0开始有Model了,可以试用下今天刚发的2.0-beta
从善如流~~
可能我没你厉害,但是如果用来作强化学习,我更加偏向于tensorflow框架而不是parl框架。因为tensorflow1.x版本对比paddle的静态图更加好。你试下paddle的静态图同步A网络的参数到B网络中取,你再试下tf1.x中的同步A网络的参数到B网络中去。我直接给你写吧。
tf1.x
paddle静态图(代码太多我直接贴图了)
你自己说下,哪个更方便?paddle的代码是官方的代码,自己搜索DQN。而且这个代码你拿来稍微改动下还报错,我在GitHub上提过issue,3,4天的没有解决。不好就是不好,有错就改,才能奋起直追。关起社区门来通过发奖励,让一大片的人使劲的吹paddle,把飞浆吹上天?
你既然说我很对飞浆研究很有深度,那作为一个深度研究者,我建议你去看下国内的RT-Thread社区,对比下两个社区的氛围。paddle社区是四海升平,paddle万岁万岁万万岁。RT-thread是这里“出问题了,那里内存溢出了,烽烟四起”大家快来救火。
对比下两个社区的首页,不得不说RT-Thread真实个垃圾,技术沉淀14年还到处出问题。
飞浆高层自有高层的用意,我只是个升斗小民,无法理解。但是我感觉对比两个社区的氛围,RT-thread氛围我更喜欢。
看了下面其他人的回复,感觉飞浆还是比较从善如流,广开言路的,希望飞浆越做越好。
PS:飞浆社区不是祖安。
如果你推荐我使用parl的话,parl的一些问题我已经说了。我记得曾经有节课里面有人说道如果哪一天美国禁用tf, torch怎么办。parl的框架里面有句:import torch。
不是底层研究人员,不清楚这句是干什么的。但是这个和飞浆说的话很冲突啊。
我们大家一起来“鞭策鞭策”paddle吧~~,studio 的pm 说过,他们要是有什么问题,一定要用”严厉的语气。。。强烈的要求。。。“,哈哈。
你说的对,如果天天“千秋万代”,后边的脚本的确不是”一统江湖“。。。
尤其是做技术,说得再好听也得”活儿好“才行
也不用激动,“心急吃不了热豆腐”~~
中华民族已经有点儿体格了
paddle是个深度学习框架工具,用于学习研究、提高生产率,不参与“拯救地球”,哈哈,不用那么较真。
社区刷分(一段拆成这么多句)之余,我也想说,paddle确实是国产深度学习框架里架势“最全,最端正”的一个吧。从开这么多课程、框架的迭代速度都能看得出来。
从这篇帖子看,paddle估计你比我用得6~~,我得跟你学才是。关于社区氛围,我觉得既需要技术大牛们的“硬核”拓展社区的层次和技术深度,也要容得下萌新们划水学样,好走上大牛之路吧。应用深度学习技术已经从黑科技走向新基础设施了,越来越多的各行各业的人会参与进来。
最后你说的,社区的主要作用之一是吐槽与推动,我是赞成和佩服的!