Bo Zhou
Bo Zhou
探索其实是有,具体参考这里: https://github.com/PaddlePaddle/PARL/blob/5fed2d393de0bbf41ebb6a81c7ff22d88853ee5a/parl/algorithms/paddle/maddpg.py#L129 不过这个写法确实不符合PARL的sample/predict风格,我们后续修改下,感谢反馈:)
目前model、algorithm、agent的设定是可以复用algorithm模块的,预留了model、agent分别给用户自行定义网络结构以及数据处理。 如果每个算法是一个agent,那别人怎么复用你这个agent呢?比如你这个agent能同时处理atari(图像输入)和cartpole(向量输入)吗
十分感谢在框架设计层面的探讨,PARL目前的设计其实有一部分是历史遗留的问题。 在PARL1.0发行时候,paddle还是静态图框架为主,数据处理是必须有的:得把数据整理成一个dict,feed到声明好的静态图中。所以之前agent的数据处理接口是很必要的。 目前parl框架的本体只有algorithm是复用的,其他的model、agent得要用户自己重写或者对着example来改。 你说的第三点我不是很理解,你指的是model和agent也放到parl内部?然后移除algorithm的抽象?
对了,agent的抽象是与环境进行交互,learn、Sample、Predict这三个是交互用的,save、restore是用于本地保存以及加载模型、get_weights、set_weights是获取参数到内存,用于并行计算的。 他目前承担的功能还是挺多,这部分和algorithm是有明显差异定位的,algorithm的定位是更新model里面的参数,侧重强化学习算法本身。
"目前来看我觉得这种转换tensor的数据接口再集成一些更好些" ----------------------------- 赞同,我们内部也讨论下:)
It seems to be a bug of checking the pyarrow version. Are you running xparl at multiple machines or a single machine ?
I guess that parl fails to get the exact pyarrow version in your environment. Please provide your environment information such that we can reproduce the problem. OS / parl version...
If you would like to bypass the issue and leave the problem to us, just remove the pyarrow from the environment: ```shell pip uninstall pyarrow ```
Have you restarted the cluster? The cluster has to restart after the environment is updated. ```shell xparl stop xparl start ... ```