starry-sky6688 / MARL-Algorithms

Implementations of IQL, QMIX, VDN, COMA, QTRAN, MAVEN, CommNet, DyMA-CL, and G2ANet on SMAC, the decentralised micromanagement scenario of StarCraft II
1.46k stars 283 forks source link

多agent Qmix 多进程怎么跑 #34

Closed Yifeng-Lyu closed 4 years ago

Yifeng-Lyu commented 4 years ago

麻烦您请教一下,在多agent 的情况下,最终目的是为了得到多个相同结构的网络?但是这要怎么训练呢,因为这并不是分布式数据平行只为了最终得到一个网络, 我的数据必须由两个进程各自提供,然后还有一个上层网络,上面网络的loss应该要会给各自两个网络,但是他们跨进程,不知道怎么能把梯度跨进程传递,其实就是Qmix下面带网络,网络结构一样但是位于不同的进程谢谢

starry-sky6688 commented 4 years ago

当前版本使用了共享神经网络,最终确实是只有一个神经网络。

Agent跨进程进行集中式训练我也不太懂,十分抱歉~

不过我觉得,虽然你的数据必须由两个进程各自提供,但你可以把agent都放在一个进程里面,两个进程只不过各自把自己的数据传给对应的agent。如果不行的话我也没办法啦~

Yifeng-Lyu commented 4 years ago

主要是环境决定了必须两个进程,每个一个agent才能正确取到各自的数据,没关系的,谢谢了