state abstraction [减少item | 将frog设置为墙壁]
featurize [step 要加入进去]
progressive neural network [加入lateral connection 以及可学习的参数alpha]
hierarchies with hindsight [目标设定]
_djikstra
不要使用中文输出,在服务器上跑会出错
不要更改 stable_baselines 和 pommerman 中的文件
可以 conda 初始化一个纯净环境,使用清华源或者豆瓣源安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
nohup python -u *.py > logs/filename 2>&1 &
pretrain v0
python pretrain.py --env=PommeRadioCompetition-v2 --num_timesteps=1000 --policy_type=resnet --expert_path=dataset/hako_v0/agent0 --save_path=models/hako_v0
pretrain v1
python pretrain.py --env=PommeRadioCompetition-v2 --num_timesteps=1000 --policy_type=resnet --expert_path=dataset/hako_v1/ --save_path=models/hako_v1 --load_path=models/hako_v0_e29.zip --pretrain_version=v1
参数解析可以参考 my_common.cmd_utils # learn
python run.py --env=PommeRadioCompetition-v2 --policy_type=pgn --model_type=ppo --num_timesteps=1e7 --log_path=./logs/ --save_path=./models/test/ --save_interval=1e2
参数解析可以参考 my_common.cmd_utils # play and evaluate
model 0 --> 4 | using_prune
python play.py --env=PommeRadioCompetition-v2 --model_type=ppo --using_prune --model0_path=./models/hako_v0_e29.zip
python evaluate.py --env=PommeRadioCompetition-v2 --using_prune --model0=hako_v0_e29.zip+prune --model1=hit18Agent+prune --model2=hako_v0_e29.zip+prune --model3=hit18Agent+prune --model0_path=models/hako_v0_e29.zip --model2_path=models/hako_v0_e29.zip
较有可能用到的 活着的智能体编号 'alive': [10, 11, 12]
棋盘编号 'board': array([[ 0, 1, 2, 1, 2, 1, 5, 5, 5, 5, 5], [ 1, 0, 3, 0, 2, 2, 5, 5, 5, 5, 5], [ 0, 0, 0, 1, 1, 2, 5, 5, 5, 5, 5], [ 1, 10, 1, 0, 0, 0, 5, 5, 5, 5, 5], [ 2, 2, 1, 0, 0, 2, 5, 5, 5, 5, 5], [ 1, 2, 2, 0, 2, 0, 5, 5, 5, 5, 5], [ 1, 2, 0, 1, 0, 2, 5, 5, 5, 5, 5], [ 1, 0, 1, 1, 1, 2, 5, 5, 5, 5, 5], [ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], [ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], [ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]], dtype=uint8),
炸弹范围(视野外视为无炸弹,即为0) 'bomb_blast_strength': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 2., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]),
炸弹生命值(视野外视为无炸弹,即为0) 'bomb_life': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 3., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]),
炸弹运动方向(视野外视为无炸弹,即为0) 'bomb_moving_direction': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]),
爆炸火花生命值(视野外视为无炸弹,即为0) 'flame_life': array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]),
本智能体位置 'position': (3, 1),
本智能体炸弹范围 'blast_strength': 3,
本智能体是否可踢 'can_kick': False,
本智能体剩余炸弹量 'ammo': 0,
队友传来的信息(队友死或刚开始为0,否则范围是[1, 8]) 'message': (0, 0)}
不太会用到的 走了几步 'step_count': 20,
对局类型 'game_type': 3,
对局环境 'game_env': 'pommerman.envs.v2:Pomme',
队友 'teammate': <Item.Agent2: 12>,
敌人 'enemies': [<Item.Agent1: 11>, <Item.Agent3: 13>, <Item.AgentDummy: 9>],