有三个工程:
Ray_Carla: 因为有的论文用多进程训练强化学习,包括ray分布式框架等,这里直接放了一个ray框架的示例代码,是用sac算法搭建的,obs没用图像,是数值状态向量值(速度那些)。目前可以不用研究这个工程。
Ray_Carla只有v1.0一个更新版本,当然,后续更新可能会增加v2.0,v3.0…,依此类推。但是目前这个工程不维护,因为暂时也不需要分布式训练,数据量都不大。
Carla_DRL: 单进程的RL的训练版本之一,目前主要包括三个场景,点到点导航,鬼探头,急刹车,其他场景都可以自行创建。算法包括:PPO和DQN,这里只有PPO用了视觉图像(用的语义分割图像),直角训练效果还算可以(b站视频可见),但是此种方法需要先训练vae编码器,只用cnn网络处理图像是训不出来的。而vae编码器有个问题,就是出现均值方差为None。
目前Carla_DRL有几个版本,当然是使用最新的,点进去可以看到代码,下载或者git clone,当然,后续更新可能会增加v4.0,v5.0…,依此类推。
Carla_Deepmdp_RL: 单进程的RL的训练版本之一,目前主要包括2个场景,高速公路和鬼探头,其他场景都可以自行创建。这个deepmdp的目的,就是解决Carla_DRL中,sac等算法不加vae直接输入原始图像无法训练出很好的拟合效果的问题,所以加了一个deepmdp+sac算法的工程,这个工程可以用来跑顶会论文的baseline。目前该工程集合了sac,ddpg,td3,ddqn和ppo算法。
Carla_Deepmdp_RL有几个版本,当然,后续更新可能会增加v2.0,v3.0…,依此类推。用最新的版本,旧版本只是用来记录。
总结:
1.后续应该会在Carla_Deepmdp_RL这个工程上加算法,一般SAC的训练step需要10w步。
2.目前,跑ppo,dqn在Carla_DRL工程,跑sac(后续可能更新的ddpg,td3等)在Carla_Deepmdp_RL工程。一般不是做RL理论创新,而是下游任务,只需要选其中一种RL算法即可,不用每种都比较。需要在一个场景跑很多种RL算法的谨慎购买。