PaddlePaddle / PARL

A high-performance distributed training framework for Reinforcement Learning
https://parl.readthedocs.io/
Apache License 2.0
3.22k stars 817 forks source link

为什么这个项目要有paddle,torch,fluid #1025

Closed xiezhipeng-git closed 1 year ago

xiezhipeng-git commented 1 year ago

这个项目,整体架构不错。 就是不明白 1.为什么要一上来就让pip install parl。导致本地代码一份,库路径一份。(这个体验不好,修改了代码,其实没改。还得给删掉重整项目) 2.为什么要有paddle,torch,fluid三份。导致各种例子跑不通。误解。不能只有paddle或torch吗?实在不行代码用全局变量as 啊(这个体验也很不好,还导致不知道具体应该用什么)

TomorrowIsAnOtherDay commented 1 year ago

感谢你对parl的关注,我逐个解答下。

  1. pip install parl,这个是安装parl库,不然你没法在代码中直接import parl。导致本地代码一份,库路径一份,这个主要是parl仓库提供example,比如你之前跑的impala 就是放在parl仓库中,而不是pip istall parl就自带impala的example了。
  2. 你之前的issue,看着是同时安装了多个深度学习框架,建议使用anaconda安装只有某一深度学习框架的环境再安装parl。至于parl兼容多框架的考虑,你可以对比下keras,同样兼容多个后端深度学习框架的开源库。
xiezhipeng-git commented 1 year ago

那是不是我可以这样改 1.pip uninstall parl 然后其实develop分支已经包含那些内容了。试过后程序能正常运行。但少了parl-2.1.1.dist-info* 和xparl.exe dist-info 是不是没用?然后xparl.exe 拷贝出来不能用,因为路径不对了。怎么生成xparl.exe 这里是不是因为你们完成开发以后打算发布成parl包。所以打算让install parl。不过项目没完成开发不应该让install 2.对比其他框架没有意义,要思考的是需求。很明显,三份代码基本上都一致。不一致的部分如果能统一接口是最好的。所以对于你们给的工程示例等代码是不是应该使用统一的。然后给出修改方案 3.另外,问你个其他问题。我发现用这个框架跑maddpg与其他仓库的maddpg(略微修改使的二者代码相近)。这个仓库的运行速度是其他的好几倍。看了cpu使用率,也没有提高。也明明都是使用的单机单卡(想运行分布式报错了)。原理是啥,关键代码是哪一句?难道是因为pettingzoo1.0 与2.0 的区别吗?。可是我如果使用pool(10)pool.apply_async 花费3s 或者纯单线程 2.7s 跑100次评测的时候仅评测部分的时间花费又比这个框架运行5.8s 快1倍。搞不懂

TomorrowIsAnOtherDay commented 1 year ago
  1. 我不是很懂你纠结pip install 的原因,这是python包的常规安装方式。
  2. 三个框架有基准的统一接口的,model/algorithm/agent这是所有框架的统一抽象。
  3. 建议你去其他仓库提问为什么他们性能慢的原因:)
xiezhipeng-git commented 1 year ago

1.因为目前bug很多。而且这样做导致代码两份,容易乱还占空间,我遇到这种情况就会很不爽要解决。我反倒不能理解为什么你们不会有这种感觉 2.对于这样的回答我很失望,我已经转移到其他框架去使用了 3.仔细看,从我提供的运行时间,pytorch 框架评价时比pytoch慢一倍(未装2.0否则慢更多)。训练时却很快

TomorrowIsAnOtherDay commented 1 year ago

对于不能理解为什么一上来就要pip install 的用户,也希望你找到合适自己的框架:)

xiezhipeng-git commented 1 year ago

对于不能理解为什么一上来就要pip install 的用户,也希望你找到合适自己的框架:) 我只能说你理解的太浅了。 https://github.com/kakaoenterprise/JORLDY 这个项目希望你们参考下,各方面都比parl使用起来舒适,虽然也同样有很多bug。而且,遇到质疑更好的做法是思考,承认和尝试改进优化。希望你能有所收获