环境链接:数据中心-人机对抗智能 (ia.ac.cn)http://turingai.ia.ac.cn/data_center/show/10
1.环境配置
Ubuntu 20.04 Anaconda python版本3.6
1.1 安装torch==0.4.1失败
参考文章:
安装torch0.4.1的神坑_torch==0.4.1_DEMO_Tian的博客-CSDN博客
conda install pytorch==0.4.1
1.2安装Yaml失败
参考文章:
pyyaml 3.11版本的安装_pyyaml安装_beefirst117的博客-CSDN博客
pip install pyyaml
1.3 已杀死
(py3.6) xiaowang@xiaowang-virtual-machine:~/庙算/部分可观测异步智能体协同(POAC)/POAC-pymarl$ python3 src/main.py --config=qmix --env-config=bqhard1 --seed_y=1 pygame 1.9.4 Hello from the pygame community. https://www.pygame.org/contribute.html {'runner': 'episode', 'mac': 'basic_mac', 'env': 'bq1', 'env_args': {'game_agent_id': 0, 'game_map_id': 0, 'owner': 0}, 'batch_size_run': 1, 'test_nepisode': 32, 'test_interval': 10000, 'test_greedy': True, 'log_interval': 10000, 'runner_log_interval': 10000, 'learner_log_interval': 10000, 't_max': 10050000, 'use_cuda': True, 'buffer_cpu_only': True, 'use_tensorboard': True, 'save_model': True, 'save_model_interval': 10000, 'checkpoint_path': '', 'evaluate': False, 'load_step': 0, 'save_replay': False, 'local_results_path': 'results', 'gamma': 0.99, 'batch_size': 32, 'buffer_size': 5000, 'lr': 0.0005, 'critic_lr': 0.0005, 'optim_alpha': 0.99, 'optim_eps': 1e-05, 'grad_norm_clip': 10, 'agent': 'rnn', 'rnn_hidden_dim': 64, 'obs_agent_id': True, 'obs_last_action': True, 'repeat_id': 1, 'label': 'default_label', 'action_selector': 'epsilon_greedy', 'epsilon_start': 1.0, 'epsilon_finish': 0.05, 'epsilon_anneal_time': 50000, 'target_update_interval': 200, 'agent_output_type': 'q', 'learner': 'q_learner', 'double_q': True, 'mixer': 'qmix', 'mixing_embed_dim': 32, 'hypernet_layers': 2, 'hypernet_embed': 64, 'name': 'qmix', 'seed_y': 1} [INFO 15:40:54] root Saving to FileStorageObserver in results/sacred. [DEBUG 15:40:54] pymarl Using capture mode "fd" [INFO 15:40:54] pymarl Running command 'my_main' [INFO 15:40:54] pymarl Started run with ID "4" [DEBUG 15:40:54] my_main Started yao seed is: 1 [WARNING 15:40:54] my_main CUDA flag use_cuda was switched OFF automatically because no CUDA devices are available! [INFO 15:40:54] my_main Experiment Parameters: [INFO 15:40:54] my_main { 'action_selector': 'epsilon_greedy', 'agent': 'rnn', 'agent_output_type': 'q', 'batch_size': 32, 'batch_size_run': 1, 'buffer_cpu_only': True, 'buffer_size': 5000, 'checkpoint_path': '', 'critic_lr': 0.0005, 'double_q': True, 'env': 'bq1', 'env_args': { 'game_agent_id': 0, 'game_map_id': 0, 'owner': 0}, 'epsilon_anneal_time': 50000, 'epsilon_finish': 0.05, 'epsilon_start': 1.0, 'evaluate': False, 'gamma': 0.99, 'grad_norm_clip': 10, 'hypernet_embed': 64, 'hypernet_layers': 2, 'label': 'default_label', 'learner': 'q_learner', 'learner_log_interval': 10000, 'load_step': 0, 'local_results_path': 'results', 'log_interval': 10000, 'lr': 0.0005, 'mac': 'basic_mac', 'mixer': 'qmix', 'mixing_embed_dim': 32, 'name': 'qmix', 'obs_agent_id': True, 'obs_last_action': True, 'optim_alpha': 0.99, 'optim_eps': 1e-05, 'repeat_id': 1, 'rnn_hidden_dim': 64, 'runner': 'episode', 'runner_log_interval': 10000, 'save_model': True, 'save_model_interval': 10000, 'save_replay': False, 'seed': 681493365, 'seed_y': 1, 't_max': 10050000, 'target_update_interval': 200, 'test_greedy': True, 'test_interval': 10000, 'test_nepisode': 32, 'use_cuda': False, 'use_tensorboard': True} env is ready 已杀死
参考文章:配置ES集群,报"已杀死"!_es 直接已杀死_SOHOxqy的博客-CSDN博客
1.4 运行过程中突然报错
1.4.1 键盘失灵
报错内容没看清,导致进程终止,系统自动重启,然后发现键盘失灵。
多重启几次,键盘即能使用,不要急着去安装,卸载一些包。
1.4.2 TypeError: load() missing 1 required positional argument: 'Loader
(py3.6) xiaowang@xiaowang-virtual-machine:~/庙算/部分可观测异步智能体协同(POAC)/POAC-pymarl$ python3 src/main.py --config=qmix --env-config=bq --seed_y=1 pygame 1.9.4 Hello from the pygame community. https://www.pygame.org/contribute.html Traceback (most recent call last): File "src/main.py", line 97, in <module> config_dict = yaml.load(f) TypeError: load() missing 1 required positional argument: 'Loader
1. 升级
PyYAML
模块pip install --upgrade pyyaml
但好像没用
2.把代码中所有的yaml.load都记得修改一下。97行,56行
使用
SafeLoader
:如果希望继续使用旧版本的PyYAML
,则可以将SafeLoader
传递给load()
方法import yaml config_dict = yaml.load(f, Loader=yaml.SafeLoader)