程式語言:Python
Package:gym
官方網址
可用環境
簡介:Reinforcement Learning 的訓練平台
1 在每一個 step 從 2,3,4 隨機挑選當作 k
2 在 Space Invaders 中,Deterministic 的設定為 k=3。因為 k=4 會導致將雷射的畫面移除,進而無法判斷雷射
3 Deterministic-v4 是用來評估 Deep Q-Networks
OpenAI gym 环境库
馬斯克的AI野心——OpenAI Gym系統深度解析
Atari Environments
Package:gym
官方網址
可用環境
簡介:Reinforcement Learning 的訓練平台
- import gym
- from gym import envs
- # 列出可用的遊戲
- print(envs.registry.all())
- # 定義訓練的遊戲
- env = gym.make('Pong-v0')
- # unwrapped 可以得到更多的資訊,可用 dir 得知可用 method
- # env = env.unwrapped
- # 查看環境中可用的 action 有多少個
- print(env.action_space)
- # 查看環境中可用的 action 意義,不見得每個遊戲都有
- print(env.unwrapped.get_action_meanings())
- # 查看環境中可用的 observation 有多少個
- print(env.observation_space)
- # 查看 observation 最高值
- print(env.observation_space.high)
- # 查看 observation 最低值
- print(env.observation_space.low)
- for i_episode in range(20):
- # 初始化
- observation = env.reset()
- for t in range(1000):
- # 畫圖
- env.render()
- # 學習到的動作,目前的設定是隨機產生
- action = env.action_space.sample()
- # 輸入動作,並得到狀態結果
- observation, reward, done, info = env.step(action)
- '''
- observation:環境狀態,像是影像 pixel,角度,角速度等,參數意義必須參照原始碼
- reward:越好的結果,會回饋越大的值,若不適用,也可從 observation 自行產生
- done:判斷是否達到 game over 的條件,像是生命已結束,或是已經超出範圍
- info:debug 用的資訊,不允許使用在學習上
- '''
- print(observation)
- if done:
- print("Episode finished after {} timesteps".format(t+1))
- break
- env.close()
Name | Frame Skip k | Repeat action probability p |
---|---|---|
Pong-v0 | 2~41 | 0.25 |
Pong-v4 | 2~41 | 0 |
PongDeterministic-v0 | 42 | 0.25 |
PongDeterministic-v43 | 42 | 0 |
PongNoFrameskip-v0 | 1 | 0.25 |
PongNoFrameskip-v4 | 1 | 0 |
2 在 Space Invaders 中,Deterministic 的設定為 k=3。因為 k=4 會導致將雷射的畫面移除,進而無法判斷雷射
3 Deterministic-v4 是用來評估 Deep Q-Networks
參考
Open AI Gym 簡介與 Q learning 演算法實作OpenAI gym 环境库
馬斯克的AI野心——OpenAI Gym系統深度解析
Atari Environments
留言
張貼留言