溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Windows上安裝和渲染OpenAI-Gym

發(fā)布時(shí)間:2021-11-25 17:39:18 來(lái)源:億速云 閱讀:242 作者:小新 欄目:大數(shù)據(jù)

這篇文章主要介紹了怎么在Windows上安裝和渲染OpenAI-Gym,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

OpenAI Gym是學(xué)習(xí)和開(kāi)發(fā)強(qiáng)化學(xué)習(xí)算法的好地方。它提供了許多有趣的游戲(所謂的“環(huán)境”),你可以將自己的策略用于測(cè)試。例如,它有一些簡(jiǎn)單的游戲,例如在小推車(chē)上平衡垂直桿(“ CartPole-v1”),將鐘擺擺到直立位置(“ Pendulum-v0”),以及一些經(jīng)典的電子游戲,例如Space Invader 和Pin Ball。

怎么在Windows上安裝和渲染OpenAI-Gym

然而,gym是設(shè)計(jì)在Linux上運(yùn)行的。盡管它可以使用Conda或PIP安裝在Windows上,但它不能在Windows上顯示,因?yàn)樗某尸F(xiàn)是在基于Linux的包PyVirtualDisplay上響應(yīng)的。因此,在Windows上玩OpenAI Gym很不方便。

那么Windows用戶是如何可視化gym呢?

一個(gè)簡(jiǎn)單的解決方案是使用谷歌Colab。它可以通過(guò)web瀏覽器訪問(wèn),而且大多數(shù)包都已經(jīng)正確設(shè)置好了。但是Colab也有缺點(diǎn):

  1. 頻繁的會(huì)話超時(shí)和斷開(kāi)連接。您的會(huì)話可能在餐后超時(shí),您的所有數(shù)據(jù)將丟失。

  2. 機(jī)器配置不高。就連我的戴爾XPS筆記本電腦在許多神經(jīng)網(wǎng)絡(luò)模型上的運(yùn)行速度也比免費(fèi)的Colab電腦快兩倍。如果你已經(jīng)有一臺(tái)不錯(cuò)的機(jī)器,為什么不使用它呢?

  3. 安裝本地驅(qū)動(dòng)器不方便。每次你開(kāi)始一個(gè)會(huì)話的時(shí)候都需要這樣做。

安裝Linux / Windows雙啟動(dòng)是最干凈的解決方案。但是,如果您只是想不時(shí)進(jìn)行一些編碼,那么設(shè)置一個(gè)完整的操作系統(tǒng)似乎是一個(gè)過(guò)大的選擇。安裝Linux VM所需的精力要少于雙重引導(dǎo),但仍然需要大量的精力來(lái)設(shè)置整個(gè)虛擬系統(tǒng),以及解決潛在的兼容性問(wèn)題,解決庫(kù)和程序包依賴(lài)性等。使用docker映像應(yīng)該很容易,但是通過(guò)docker hub上快速搜索生成的映像無(wú)法在我的計(jì)算機(jī)上運(yùn)行。另一個(gè)github上的代碼僅具有“實(shí)驗(yàn)性” Windows支持,并且需要從源代碼構(gòu)建看似復(fù)雜的Docker映像。眾所周知,在另一個(gè)操作系統(tǒng)上從源代碼構(gòu)建遠(yuǎn)非直截了當(dāng)。

Genevieve Hayes[3]在這篇文章中詳細(xì)描述了一個(gè)純Windows解決方案。它結(jié)合使用Visual Studio、Conda、Pip和Xming。這不是一個(gè)簡(jiǎn)短的步驟列表。我一步一步地遵循這些步驟,但仍然無(wú)法構(gòu)建atari-py和box2d。此外,我有點(diǎn)擔(dān)心Windows原生解決方案將來(lái)可能需要一些源代碼修改。

在評(píng)估了許多選項(xiàng)之后,我最終自己構(gòu)建了一個(gè)極簡(jiǎn)的docker映像。這遠(yuǎn)沒(méi)有聽(tīng)起來(lái)那么難。但如果你想跳過(guò)設(shè)置環(huán)境的工作,你可以通過(guò)以下三個(gè)簡(jiǎn)單的步驟直接享受Gym:

下載并安裝Docker

從Dock拉出我的docker映像:

 docker pull jxu305/openai_gym_docker:v1.0

從命令行運(yùn)行docker映像(如果您愿意,可以掛載您喜歡的文件)

 docker run -p <local port>:8888 -it -v <local directory to mount>:<target directory> jxu305/openai_gym_docker:v1.0

或者只是從Docker桌面GUI啟動(dòng)

怎么在Windows上安裝和渲染OpenAI-Gym

為了測(cè)試方便,我在圖片中添加了一個(gè)小notebook 來(lái)測(cè)試渲染示例環(huán)境:Cart Pole v1、Mountain Car v0、Pendulum v0、Lunar Lander v2、Space Invaders v0和Car Racing v0。

怎么在Windows上安裝和渲染OpenAI-Gym

如果你對(duì)如何制作這個(gè)docker感興趣,請(qǐng)繼續(xù)閱讀。這其實(shí)很簡(jiǎn)單,你所需要的是一個(gè)少于30行的Dockerfile。在這里,我將逐步介紹Dockerfile。

首先,為了避免從頭開(kāi)始建造,我從jupyter notebook環(huán)境開(kāi)始建造。由于Geron的機(jī)器學(xué)習(xí)書(shū)籍使用tensorflow,我決定在jupyter/tensorflow-notebook圖像的基礎(chǔ)上進(jìn)行構(gòu)建。

 FROM jupyter/tensorflow-notebook

接下來(lái),安裝呈現(xiàn)環(huán)境所需的一些庫(kù)。

 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

僅此而已。有了這幾行代碼,你就可以運(yùn)行和渲染

我在Dockerfile中添加了幾行代碼,以支持一些需要Box2D, Toy Text,和雅達(dá)利的環(huán)境。例如,經(jīng)典的月球著陸器和太空入侵者環(huán)境。

 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

最后兩行只是為了測(cè)試方便,將一些文件復(fù)制到圖像中。

 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的全部?jī)?nèi)容。構(gòu)建這個(gè)簡(jiǎn)單的docker也很容易,只需在命令行中運(yùn)行以下命令:

 $ docker build -t <your tag>:<version> .

恭喜你!你只要建立你自己的OpenAI-gym docker!現(xiàn)在你可以用Docker桌面啟動(dòng)它并開(kāi)始你的代碼。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“怎么在Windows上安裝和渲染OpenAI-Gym”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI