Closed lknownothing closed 3 years ago
你的理解没有问题,关于这两种更新方式,哪个更好一些,我个人认为是‘先统一采集,再统一更新’会更好一些,网络的稳定性更高,多进程加速什么的操作性更高。 但是二者性能其实差距不大,我测试过。 另外这个代码库我基本弃用了,最新的可以看我的https://github.com/kaixindelele/DRLib
谢谢您的耐心回复!因为DM Control 的Benchmark任务上训练的episode_reward最大不超1000,会不会更容易比较TD3-PER和TD3等的算法性能
DM Control 的Benchmark任务我没有跑过,甚至都没有看过,所以无从评价~ TD3-PER效果不太稳定且特别慢,不建议用,除非是稀疏奖励。
repo里都可以看成是state-based输入的,后面的工作ICLR 2020一些都是pixel-based输入的,比如很出名的Dreamer, soft latent actor-critic(SLAC),RAD和DrQ等算法都有在Dm Control的benchmark任务上测试
pixel-based输入我做的也比较少,你有比较好的测试经验么?我之前自己写的一个单进程的,虽然能学到点东西,但是达不到最佳性能,且训练慢。 不知道你对这个有没有好的经验分享~
这篇和curl的区别在哪儿呢?你跑过么,要是好使的话,我也整一个~ 个人感觉图像输入有几个问题,一个是效率低,用数据增强肯定会好; 另一个就是像素分辨率低的话,信息会有丢失,分辨率高,计算效率会下降~ 加一个QQ吧,你加我的群,在QQ里说好点,github的邮件通知有点隆重~ 深度强化学习-DRL:799378128
感谢您的分享!因为你的网络更新和论文作者的不一样,我的疑问如下: 本repo中,
for _ in range(args.max_steps)
这行代码是表示执行max_step=1000
之后开始更新1000次吗?https://github.com/kaixindelele/DRL-tensorflow/blob/6f6c078df1a8b3c21be31f0aba8c617360e86f1a/td3_sp/TD3_per_class.py#L352
论文作者的PyTorch-SAC和其它大多数repo中更新的方式是下面这样:
前者是执行1000步折后更新1000次,后者是没执行1步,更新1次的意思吗?
再次感谢您的分享~