您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么在Windows上安裝和渲染OpenAI-Gym,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
OpenAI Gym是學習和開發強化學習算法的好地方。它提供了許多有趣的游戲(所謂的“環境”),你可以將自己的策略用于測試。例如,它有一些簡單的游戲,例如在小推車上平衡垂直桿(“ CartPole-v1”),將鐘擺擺到直立位置(“ Pendulum-v0”),以及一些經典的電子游戲,例如Space Invader 和Pin Ball。
然而,gym是設計在Linux上運行的。盡管它可以使用Conda或PIP安裝在Windows上,但它不能在Windows上顯示,因為它的呈現是在基于Linux的包PyVirtualDisplay上響應的。因此,在Windows上玩OpenAI Gym很不方便。
那么Windows用戶是如何可視化gym呢?
一個簡單的解決方案是使用谷歌Colab。它可以通過web瀏覽器訪問,而且大多數包都已經正確設置好了。但是Colab也有缺點:
頻繁的會話超時和斷開連接。您的會話可能在餐后超時,您的所有數據將丟失。
機器配置不高。就連我的戴爾XPS筆記本電腦在許多神經網絡模型上的運行速度也比免費的Colab電腦快兩倍。如果你已經有一臺不錯的機器,為什么不使用它呢?
安裝本地驅動器不方便。每次你開始一個會話的時候都需要這樣做。
安裝Linux / Windows雙啟動是最干凈的解決方案。但是,如果您只是想不時進行一些編碼,那么設置一個完整的操作系統似乎是一個過大的選擇。安裝Linux VM所需的精力要少于雙重引導,但仍然需要大量的精力來設置整個虛擬系統,以及解決潛在的兼容性問題,解決庫和程序包依賴性等。使用docker映像應該很容易,但是通過docker hub上快速搜索生成的映像無法在我的計算機上運行。另一個github上的代碼僅具有“實驗性” Windows支持,并且需要從源代碼構建看似復雜的Docker映像。眾所周知,在另一個操作系統上從源代碼構建遠非直截了當。
Genevieve Hayes[3]在這篇文章中詳細描述了一個純Windows解決方案。它結合使用Visual Studio、Conda、Pip和Xming。這不是一個簡短的步驟列表。我一步一步地遵循這些步驟,但仍然無法構建atari-py和box2d。此外,我有點擔心Windows原生解決方案將來可能需要一些源代碼修改。
在評估了許多選項之后,我最終自己構建了一個極簡的docker映像。這遠沒有聽起來那么難。但如果你想跳過設置環境的工作,你可以通過以下三個簡單的步驟直接享受Gym:
下載并安裝Docker
從Dock拉出我的docker映像:
docker pull jxu305/openai_gym_docker:v1.0
從命令行運行docker映像(如果您愿意,可以掛載您喜歡的文件)
docker run -p <local port>:8888 -it -v <local directory to mount>:<target directory> jxu305/openai_gym_docker:v1.0
或者只是從Docker桌面GUI啟動
為了測試方便,我在圖片中添加了一個小notebook 來測試渲染示例環境:Cart Pole v1、Mountain Car v0、Pendulum v0、Lunar Lander v2、Space Invaders v0和Car Racing v0。
如果你對如何制作這個docker感興趣,請繼續閱讀。這其實很簡單,你所需要的是一個少于30行的Dockerfile。在這里,我將逐步介紹Dockerfile。
首先,為了避免從頭開始建造,我從jupyter notebook環境開始建造。由于Geron的機器學習書籍使用tensorflow,我決定在jupyter/tensorflow-notebook圖像的基礎上進行構建。
FROM jupyter/tensorflow-notebook
接下來,安裝呈現環境所需的一些庫。
USER root
RUN apt-get update -y && \
apt-get install -y xvfb && \
apt-get install -y python-opengl
然后安裝OpenAI-gym,以及PyVirtualDisplay。
USER ${NB_USER}
RUN pip install gym pyvirtualdisplay
僅此而已。有了這幾行代碼,你就可以運行和渲染
我在Dockerfile中添加了幾行代碼,以支持一些需要Box2D, Toy Text,和雅達利的環境。例如,經典的月球著陸器和太空入侵者環境。
RUN apt-get install -y cmake && \
apt-get install -y zlib1g zlib1g-dev
RUN conda install swig
RUN pip install box2d-py atari_py pystan
最后兩行只是為了測試方便,將一些文件復制到圖像中。
COPY ./example/env_render.ipynb /home/${NB_USER}/env_render.ipynb
COPY ./example/18_reinforcement_learning.ipynb /home/${NB_USER}/18_reinforcement_learning.ipynb
這就是Dockerfile的全部內容。構建這個簡單的docker也很容易,只需在命令行中運行以下命令:
$ docker build -t <your tag>:<version> .
恭喜你!你只要建立你自己的OpenAI-gym docker!現在你可以用Docker桌面啟動它并開始你的代碼。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么在Windows上安裝和渲染OpenAI-Gym”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。