多智能体MAPPO代码环境配置以及代码讲解

更新时间:2023-07-13 22:18:07 阅读: 评论:0

多智能体MAPPO代码环境配置以及代码讲解
多智能体MAPPO代码环境配置以及代码讲解
中国文学MAPPO代码环境配置
MAPPO是2021年⼀篇将PPO算法扩展⾄多智能体的论⽂,其论⽂链接地址为:
对应的官⽅代码链接为
代码⽂件夹内容讲解
所有核⼼代码都位于 onpolicy ⽂件夹中。 algorithms/⼦⽂件夹包含 MAPPO 的特定于算法的代码。
舟山属于哪里
envs/ ⽂件夹包含 MPE、SMAC 和 Hanabi 的环境的实现。
⽤于执⾏训练部署和策略更新的代码包含在 runner/ ⽂件夹中 - 每个环境都有⼀个runner。
可以在 scripts/ ⽂件夹中找到⽤于使⽤默认超参数进⾏训练的可执⾏脚本。这些⽂件按以下⽅式命名:train_algo_environment.sh。在每个⽂件中,映射名称(在 SMAC 和 MPE 的情况下)可以更改。
可以在 scripts/train/ ⽂件夹中找到每个环境的 Python 训练脚本。
config.py ⽂件包含相关的超参数和环境设置。
配置开始
窸窣作响本配置在Ubuntu 16/18/20,可以在CPU或GPU上跑程序,本⽂按照GPU版本配置环境
神明是什么意思1. 创建虚拟环境: conda create -n MAPPO python==3.6.1
2. 激活环境: conda activate MAPPO
3. 安装GPU版本的pytorch:torch1.5.1+cuda10.1以及torchision0.6.1+cuda10.1
4. 下载MAPPO代码后进⼊on-poilcy⽂件夹:cd on-policy
5. 安装本环境:pip install -e
6. 按照⽂件选择性安装包,其中tensorboard如果⽤gpu版本的话:安装tensorboard-gpu2.0.0,然后安装
tensorboardX:pip install tensorboardX=2.0.0,若⽤cpu版本的tensorboard可以pip install tensorboard==1.14
7. 最后⼀步:安装aborn:pip install aborn
8. 三步进⾏运⾏程序:
达芬奇的发明9. cd onpolicy/scripts
10. chmod +x ./train_mpe.sh
11. ./train_mpe.sh
配置完成后的⼀些常见问题
1.出现ImportError: cannot import name 'get_backend’
解决⽅法:tensorflow版本问题:sudo pip install tensorflow --upgrade,如果还不⾏查看:以及
2.出现TypeError: cannot assign ‘torch.FloatTensor’ as parameter ‘stddev’ (Parameter or None expected)
解决⽅法:代码的错误,将"onpolicy/algorithms/utils/popart.py"中的 63⾏代码
lf.stddev = (lf.mean_sq - lf.mean ** 2).sqrt().clamp(min=1e-4)
lf.weight = lf.weight * old_stddev / lf.stddev
lf.bias = (old_stddev * lf.bias + old_mean - lf.mean) / lf.stddev
改为:
lf.stddev = nn.Parameter((lf.mean_sq - lf.mean ** 2).sqrt().clamp(min=1e-4))
lf.weight = nn.Parameter(lf.weight * old_stddev / lf.stddev)
lf.bias = nn.Parameter((old_stddev * lf.bias + old_mean - lf.mean) / lf.stddev)
最后就可以运⾏程序了!
⼩技巧
为了更好的控制代码,能够便利的debug需要对train_mpe.py做些更改:需要在main()中更改
日记三百字
if __name__ =="__main__":
if len(sys.argv[1:])==0:
argv =['--u_valuenorm','--u_popart','--env_name','MPE','--algorithm_name','rmappo',
'--experiment_name','check','--scenario_name','simple_spread','--num_agents','3',
'--num_landmarks','3','--ed','1','--n_training_threads','1','--n_rollout_threads',
'64','--num_mini_batch','1','--episode_length','25','--num_env_steps','2000000',
动漫男生手绘'--ppo_epoch','10','--u_ReLU','--gain','0.01','--lr','7e-4','--critic_lr',
'7e-4','--wandb_name','zoeyuchao','--ur_name','zoeyuchao','--u_wandb','Fal']
摔跤的英文el:
argv = sys.argv[1:]
print(argv)
main(argv)
这样就能很好的实现debug了!
现在我还在学MAPPO,若还有好技巧会在这篇⽂章分享,需要MAPPO后期知识的⼩同学可以关注我哦!

本文发布于:2023-07-13 22:18:07,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1080388.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:代码   环境   配置   需要   讲解   训练   件夹   意思
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图