迷霧探險10 | 踩坑Gym
學了有一會兒RL,總覺得需要動手執行幾個Demo才過癮,Gym就提供了很好的平臺,降低了實驗RL的門檻。
OpenAI Gym是一款用於研發和比較強化學習演算法的工具包。與其他的數值計算庫相容,如tensorflow 或者theano 庫。現在主要支援的是python 語言。它可以支援訓練智慧體(agent)做任何事——從行走到玩Pong或圍棋之類的遊戲都在範圍中。官方提供的gym文件。
1. 安裝環境(MacOS下)
Gym目前只支援Linux和Mac,所以Windows的朋友們就先在虛擬機器上玩一玩啦。
- Step1 先確保安裝好homebrew和Xcode,Xcode最好升級到最新版並安裝命令列工具。可以檢查一下兩個都安裝了沒
(1)國內安裝homebrew會很心累的,強烈推薦一篇安裝教程把源都換成中科院的源(親測可用):https://blog.csdn.net/qq_35624642/article/details/79682979
(2)xcode安裝好了之後可以省掉很多編譯器的安裝。在Appstore下載安裝好xcode後再安裝一下xcode-select。xcode-select --install
brew --version
xcode-select --version
- Step2 安裝Python3
(1)安裝homebrew是為了安裝Python3。Mac預設的安裝版本是2.7.X,但是未來的趨勢將會是python3,python2只會維護到2020年。由於MacOS依賴2.7的python,所以不能改動預設的python版本。用brew就可以方便的相容兩者。python3自帶pip3。注意檢查python需要3.5以上版本。強烈注意:
這一步做完之後請參考這篇部落格,把python降級為python3.6,目前還不支援最新的python3,可能不久的將來會支援,反正遇到問題思考一下可能是python版本的問題
brew install python3
python3 --version
pip3 --version
- Step3 安裝gym工具包,不帶
--user
會有許可權問題,建議帶上,安裝後根據提示把/Users/${youname}/Library/Python/3.7/bin
放到PATH目錄下。後面需要下載全套程式碼再考慮(all)
引數
pip3 install gym --user
環境就這麼簡單配好啦!
2. 安裝Gym
官網入門指南就直接有配環境和下載程式碼的手把手步驟,非常清晰。程式碼直接從git庫下載下來。
git clone https://github.com/openai/gym
cd gym
pip3 install -e .
可以稍後執行pip3 install -e '.[all]'
來執行包含所有環境的完整安裝。 這需要安裝幾個更復雜的依賴項,包括cmake和最近的pip版本。
記錄遇到的問題
(1)執行pip install -e. [all]
遇到matplotlib的1.3.1版本需要nose、tornado,另外numpy的版本1.8.0rc1不匹配。參考這篇博文使用了命令強行升級numpy,然後安裝另外兩個。
sudo pip install --ignore-installed numpy
sudo easy_install nose
sudo easy_install tornado
(2)還是失敗,根據git庫的README文件安裝了一些依賴
brew install cmake boost boost-python sdl2 swig wget
brew install boost-python --with-python3
(3)最後才想起,我是用pip3安裝的gym,趕緊把pip install改成pip3。終於顯示安裝gym成功.
(4)執行
pip3 install -e '.[all]'
的時候發現沒有安裝MuJoCo,參考這篇部落格可以先把gym/setup.py的mujoco和robotics選項註釋掉,後面需要的話用pip install -e '.[mujoco]'
重新安裝。3. 編寫和執行第一個demo
首先可以試一下最簡單的一個CartPole-v0環境,下面的程式碼包含了1000次渲染環境的程式碼,使用的是最簡單的隨機步驟(當然這種演算法一定無法收斂)。
#demo.py
import gym
env = gym.make('CartPole-v0')
env.reset()
for _ in range(1000):
env.render()
env.step(env.action_space.sample()) # take a random action
執行例子出現灰屏問題
執行pip3 install tensorflow
發現自己python3.7版本太高,用這篇部落格的方法降級到Python3.6。然後把重新安裝了gym,沒有安裝tensorflow就解決了白屏問題,這坑爹的3.7...
執行python3 demo.py
後就可以看到一個視窗彈出呈現經典的車竿問題。
相關文章
- 《迷霧偵探》國產賽博朋克偵探遊戲遊戲
- 硬核技術宅偵探和他的007黑貓——《迷霧偵探》評測
- 《迷霧偵探》評測: 賽博朋克版的《清明上河圖》
- Kubernetes探針踩坑記
- 撥開JS事件的迷霧(一)JS事件
- 一次分表踩坑實踐的探討
- 揭開迷霧,尋找真相《迷霧之夏》PC版現已在Steam平臺發售!線上活動盤點
- 《迷霧偵探》負責人王可佑:獨立遊戲不該是一個被框死的概念遊戲
- 戰棋遊戲《尼羅河勇士》將於8月7日發售 《迷霧偵探》主角亂入遊戲
- 撥開SAP與Hadoop整合的迷霧LLHadoop
- angular踩坑Angular
- 相容踩坑
- Flutter 踩坑Flutter
- vue踩坑Vue
- CDH踩坑
- THEOS踩坑。。。
- 出發吧,探險家! 《寶可夢大探險》今日全平臺公測
- 小程式踩坑填坑
- 踩坑Xcode 10之New Build SystemXCodeUI
- Windows 10 編譯 Pycocotools 踩坑記Windows編譯
- OAuth 2.0 的探險之旅OAuth
- phppresentation 踩坑指南PHP
- 小程式踩坑
- Fragment-踩坑Fragment
- removeChild踩坑記REM
- mpVue 踩坑記Vue
- golang的踩坑Golang
- vue 踩坑記Vue
- mpvue“踩坑”指南Vue
- MQTT使用踩坑MQQT
- Auth::user() 踩坑
- 無限踩坑
- vuepress踩坑記Vue
- IE 踩坑記
- Xcode10和iOS12踩坑XCodeiOS
- 化繁為簡,透過迷霧看“網路安全”本質
- js避坑歷險記JS
- Taro踩坑實踐