Console game [OpenAI Gym]
Ubuntu | Windows | MacOS |
---|---|---|
這是一個簡單的老鼠走迷宮 OpenAI Gym 環境,這個環境包含了 3 種子環境:
- 發生無效動作時,不進行任何的獎勵給予或動作屏蔽 (BaseEnv)
- 發生無效動作時,給予一個負獎勵 (NegativeRewardEnv)
- 發生無效動作時,使用動作遮罩屏蔽代理人的動作選擇 (ActionMaskEnv)
目的是為了驗證代理人受到環境的限制而出現大量的無效動作時,採用上述 3 種方法其效果如何。
道路 = ' '
牆壁 = 'X'
出口 = 'E'
老鼠 = 'M'
食物 = 'F'
毒藥 = 'P'
這是一個簡單的貪食蛇 OpenAI Gym 環境,這個環境包含了 2 種子環境:
- 發生無效動作時,不進行任何的獎勵給予或動作屏蔽 (BaseEnv)
- 發生無效動作時,使用動作遮罩屏蔽代理人的動作選擇 (ActionMaskEnv)
目的是為了驗證代理人受到環境的限制而出現大量的無效動作時,採用上述 2 種方法其效果如何。
道路 = ' '
牆壁 = '✤'
蛇的頭 = '❖'
蛇的身體 = '◉'
食物 = '❦'
1. Clone stable-baselines
支援 Action maske
的版本
git clone https://github.com/NTUT-SELab/stable-baselines
cd stable-baselines
git checkout neglogp+entropy
cd ..
2. Clone 這個 Repositorie
git clone https://github.com/NTUT-SELab/mouse-walking-maze.gym
cd mouse-walking-maze.gym
3. 執行範例
- 使用 Docker
SB_PATH是
stable-baselines
專案存放的路徑SB_PATH=/homes/user/stable-baselines/ ./scripts/run_docker_gpu.sh python ./examples/Snake/PPO2/run_action_mask.py MlpPolicy
使用GPU請參考: Build and run Docker containers leveraging NVIDIA GPUs
- 直接執行
MlpPolicy 是策略神經網路,請參考: Policy Networks
由於我們設計的遊戲狀態內容太小,導致預設的CNN策略神經網路不能捲機。因此我們自訂了較小的卷積層,請參考: 自定義策略神經網路
python3 ./examples/Snake/PPO2/run_action_mask.py MlpPolicy