OpenAI Gym 在windows下的配置和使用
目前,OpenAI Gym(以下簡稱gym)作為一個在強化學習領域內非常流行的測試框架,已然成為了Benchmark。然而讓人遺憾的是,這個框架到目前為止(2018年2月15日)2年了,沒有要支持windows系統的意思---看來是不能指望官方會支持了~
筆者希望藉此文章給出一個方案。給希望能在windows下基於gym(尤其是atari game)來研究強化學習的同胞們一條生路。
安裝
這裡以剛裝完原版官方win10x64的Python 2.7.1x64|Anaconda 4.4.0為例。由於之後需要修改python文件,建議裝上pycharm。同時為了更好的CMD體驗,建議裝上cmder。
先安裝官方gym,cmd中輸入:
pip install gym -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
pip install gym
會執行gym的最小化安裝。
裝好後就已經可以執行Algorithmic和Toy text模塊了。這裡附上我在jupyter notebook里的測試代碼,可以測試下:
import gymtest_envs={algorithm:Copy-v0, toy_text:FrozenLake-v0, control:CartPole-v0, # option:MountainCar-v0 atari:SpaceInvaders-v0,# options:Breakout-ram-v4,Seaquest-v0, mujoco:Humanoid-v1, # not feasible on Win10 box2d:LunarLander-v2 } # not feasible on Win10game_name = test_envs[algorithm]env = gym.make(game_name)for i_episode in range(20): observation = env.reset() for t in range(100): env.render() print(observation) action = env.action_space.sample() observation, reward, done, info = env.step(action) if done: print("Episode finished after {} timesteps".format(t+1)) break
但若測試control模塊還是會有問題,其提示:
我查到的解決方案是,打開該文件,把PUINT
去掉。再運行又報錯:
下載PyOpenGL,我裝的是PyOpenGL-accelerate-3.1.1a1這個版本。解壓後,在該文件目錄中打開cmd,輸入python setup.py install
,又報錯:
下載安裝VC++ 9.0,再cmd重新執行python setup.py install
,安裝成功:
之後在打開的notebook里,重載下kernel,測試control模塊成功!
但此時atari game還是測試失敗,提示:
這裡注意了,若是安裝官方包pip install gym[atari]
是肯定會失敗的。這裡我參考了OpenAI Gym Atari on Windows,發現已經有牛人封裝了windows下的atari模塊了,我們可以這樣裝:pip install --no-index -f https://github.com/Kojoley/atari-py/releases atari_py
-i https://pypi.tuna.tsinghua.edu.cn/simple (這是我目前看到的所有方法中最簡單的)
裝完後,再重載下kernel,發現atari模塊終於可以用了!
至此,我們已經可以在win10下使用gym來測試包括Atari game以及經典的CartPole來研究強化學習演算法了。但美中不足的是,貌似python3的control和Atari模塊依然不可用,提示:
該錯誤我還不知如何解決。至於gym的另外2個模塊:box2d和mujoco,目前我測試下來不管python2或3均不成功。感興趣的可自行測試~
所有測試結果
系統:win10x64
Python環境:
Python 2.7.13 |Anaconda 4.0.0 (32-bit)--->測試成功
Python 2.7.13 |Anaconda 4.4.0 (64-bit)--->測試成功
Python 2.7.13 |Anaconda 5.0.1 (64-bit)--->測試成功
Python 3.6.3 |Anaconda 5.0.1 (64-bit)--->測試失敗
GYM的使用
請參考這裡:簡書:如何使用OpenAI,寫得挺好的~
結語
在研究領域,相較於linxu,windows好像一直不受待見。這裡筆者結合網上的資料通過實踐給出了一個應該還算滿意的結果,雖然python3還不行。 (話說把圖片貼上來後才發現像素不高,算了,以後不截jpeg格式的圖了(⊙﹏⊙)~)
另外,鑒於今天這個特殊的日子,也預祝大家新的一年闔家團圓,萬事如意( ?? ω ?? )!
推薦閱讀:
※TensorFlow 的常用模塊介紹
※機器學習?人工智慧?傻傻分不清楚?
※有自我意識和自由意志的強AI能否實現
※利用AWS學習深度學習 For Udacity P5(第一篇:困惑)
※意識的定義:以抽象的方式認知事物規律,並能夠加以運用。
TAG:強化學習ReinforcementLearning | 機器學習 | 人工智慧 |