- 深度強化學習實踐(原書第2版)
- (俄)馬克西姆·拉潘
- 966字
- 2021-08-18 17:39:18
2.2 硬件和軟件要求
本書的示例都是用Python3.7版本實現并測試的。本書假設你已經熟悉該語言以及一些常見概念,比如虛擬環境,所以不會再詳細介紹如何安裝依賴包以及如何以隔離的方式進行安裝。這些示例將會使用前面提到的Python注解,它允許我們提供函數和類方法的類型簽名。
本書用到的外部依賴庫都是開源軟件,包含:
- NumPy:用于科學計算的庫,它實現了矩陣運算和常用功能。
- OpenCV Python bindings:計算機視覺庫,提供了許多圖像處理的函數。
- Gym:RL框架,以統一的交互方式提供了各種各樣的環境。
- PyTorch:靈活且有表現力的深度學習(Deep Learning,DL)庫。第3章會提供它的速成課。
- PyTorch Ignite:基于PyTorch的高級工具庫,用于減少樣板代碼。在第3章會有簡短的介紹。完整的文檔參見https://pytorch.org/ignite/。
- PTAN(https://github.com/Shmuma/ptan):筆者創建的一個Gym的擴展開源軟件,用來支持深度RL方法以及方便地創建構造塊。所有用到的類將同源代碼一起詳細解釋。
一些特定章節會用到其他庫,例如,用Microsoft TextWorld來學習基于文本的游戲,用PyBullet來進行機器人仿真,用OpenAI Universe解決瀏覽器的自動化問題等。這些特定的章節都會包含這些庫的安裝指令。
本書大部分章節(第二、三、四部分)都在關注近些年才開發出來的深度RL方法。“深度”一詞意味著DL會被大量使用。你可能意識到DL方法需要大量的計算資源。現代圖形處理器(Graphics Processing Unit,GPU)甚至比最快的多個中央處理器(Central Processing Unit,CPU)的系統還要快10~100倍。這意味著同樣的代碼,用GPU需要訓練一小時,但用最快的CPU系統可能需要訓練半天到一星期。這并不意味著你不能在沒有GPU的情況下嘗試本書的示例,只是要花更多時間而已。如果想實操一下代碼(無論學什么實踐都是最有效的方法),最好用一臺帶GPU的機器。有幾種方式:
- 買一個能用CUDA的現代GPU。
- 購買云實例。Amazon Web Services和Google Cloud都可以提供帶GPU的實例。
- Google Colab在它的Jupyter notebook中提供免費的GPU。
本書沒介紹如何設置系統,讀者可在互聯網上查閱有用的手冊。在操作系統方面,應該使用Linux或macOS操作系統。雖然PyTorch和Gym都支持Windows系統,但本書中的示例沒有在Windows操作系統下完整測試過。
為了給出本書中會用到的外部依賴庫的具體版本,我將pip freeze
命令的輸出列了出來(這在對本書中的示例進行故障排除時會很有用,畢竟開源軟件和DL工具包更新得特別快):

本書中的所有示例都是用PyTorch 1.3實現并測試的,遵循http://pytorch.org網站的指示就可以順利安裝(通常使用conda install pytorch torchvision -c pytorch
命令)。
現在,我們來詳細了解一下OpenAI Gym的API吧,它提供了大量的環境,從簡單的到極具挑戰的都有覆蓋。