国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Pytorch深度強化學習:Gym安裝與環(huán)境搭建教程(附基本指令表)

這篇具有很好參考價值的文章主要介紹了Pytorch深度強化學習:Gym安裝與環(huán)境搭建教程(附基本指令表)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

0 專欄介紹

本專欄重點介紹強化學習技術的數(shù)學原理,并且采用Pytorch框架對常見的強化學習算法、案例進行實現(xiàn),幫助讀者理解并快速上手開發(fā)。同時,輔以各種機器學習、數(shù)據(jù)處理技術,擴充人工智能的底層知識。

??詳情:《Pytorch深度強化學習》


1 Gym介紹

強化學習是在潛在的不確定復雜環(huán)境中,訓練一個最優(yōu)決策指導一系列行動實現(xiàn)目標最優(yōu)化的機器學習方法。自從AlphaGo的橫空出世之后,確定了強化學習在人工智能領域的重要地位,越來越多的人加入到強化學習的研究和學習中。

OpenAI Gym是一個研究和比較強化學習相關算法的開源工具包,包含了許多經(jīng)典的仿真環(huán)境(各種游戲),兼容常見的數(shù)值運算庫,使用戶無需過多了解游戲的內(nèi)部實現(xiàn),通過簡單地調(diào)用就可以用來測試和仿真。OpenAI Gym由以下兩部分組成:

  • Gym開源庫:測試仿真環(huán)境,這些環(huán)境有一個公共的接口且允許用戶設計通用的算法
  • OpenAI Gym服務:提供一個站點和API,允許用戶對他們的測試結果進行比較

Pytorch深度強化學習:Gym安裝與環(huán)境搭建教程(附基本指令表)

2 Gym安裝

gym中從簡單到復雜,包含了許多經(jīng)典的仿真環(huán)境:

  • 入門級:經(jīng)典控制和文字游戲

Pytorch深度強化學習:Gym安裝與環(huán)境搭建教程(附基本指令表)

  • 雅達利游戲:是雅達利游戲公司出品的小游戲合集,比入門游戲難度更高

Pytorch深度強化學習:Gym安裝與環(huán)境搭建教程(附基本指令表)

  • 2D/3D的機器人:機器人仿真環(huán)境,需要利用第三方的物理引擎如 MuJoCo

建議在虛擬環(huán)境中安裝,虛擬環(huán)境相關知識請看:Anaconda安裝與Python虛擬環(huán)境配置保姆級圖文教程(附速查字典)

  • 激活虛擬環(huán)境

    conda activate pytorch
    
  • 安裝gym相關庫

    # 安裝基本gym庫,只含有入門級環(huán)境
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gym
    # 安裝Box2D環(huán)境支持組件
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gym[box2d]
    
  • 安裝gym雅達利環(huán)境庫

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple gym[atari]
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple autorom
    AutoROM --accept-license
    

    需要注意,這里執(zhí)行AutoROM --accept-license時可能較慢,是因為要進入外網(wǎng)下載游戲包,建議到atarimania.com直接下載Roms.rar并移動到路徑~\Anaconda\envs\pytorch\Lib\site-packages\AutoROM\roms中,顯示

    AutoROM will download the Atari 2600 ROMs.
    They will be installed to:
            ~\Anaconda\envs\pytorch\Lib\site-packages\AutoROM\roms
    
    Existing ROMs will be overwritten.
    Installed ~\Anaconda\envs\pytorch\lib\site-packages\AutoROM\roms\adventure.bin
    Installed ~\Anaconda\envs\pytorch\lib\site-packages\AutoROM\roms\air_raid.bin
    Installed ~\Anaconda\envs\pytorch\lib\site-packages\AutoROM\roms\alien.bin
    Installed ~\Anaconda\envs\pytorch\lib\site-packages\AutoROM\roms\amidar.bin
    Installed ~\Anaconda\envs\pytorch\lib\site-packages\AutoROM\roms\assault.bin
    ...
    Done!
    

    說明安裝完成

  • 測試環(huán)境

    import gym
    
    env = gym.make('Tennis-v4', render_mode="human")
    print("Observation Space: ", env.observation_space)
    print("Action Space       ", env.action_space)
    
    obs = env.reset()
    for i in range(1000):
        env.render()
        action = env.action_space.sample()
        obs, reward, done, info, _ = env.step(action)
    env.close()
    
    print(gym.envs.registry.keys())
    

3 基本指令

gym中最核心的接口就是env環(huán)境類,智能體與環(huán)境的交互如圖所示,這就是強化學習的基本流程:在每個時間點上,智能體選擇一個動作(action),環(huán)境返回上一次action的觀測(Observation)獎勵(Reward)

Pytorch深度強化學習:Gym安裝與環(huán)境搭建教程(附基本指令表)
常用指令如下:

3.1 make()

作用:生成環(huán)境對象

'''
* @breif: 生成環(huán)境對象
* @param[in]: id            ->  啟用環(huán)境的名稱
* @param[in]: render_mode   ->  渲染模式
* @retval: 環(huán)境對象
'''
env = gym.make(id:str, render_mode:str)

通過make()創(chuàng)建完環(huán)境對象后,可以查看環(huán)境的屬性和當前狀態(tài)

env = gym.make('Tennis-v4', render_mode="human")
print('觀測空間:', env.observation_space)
print('動作空間:', env.action_space)
print('動作數(shù):', env.action_space.n)

>>> 觀測空間: Box(0, 255, (210, 160, 3), uint8)
>>> 動作空間: Discrete(18)
>>> 動作數(shù): 18

gym的仿真環(huán)境中,有運動空間action_space和觀測空間observation_space兩個Space類型接口,用于描述有效的運動和觀測的格式和范圍

渲染模式支持:

  • human:在顯示器或終端上渲染
  • rgb_array:返回像素圖像的RGB陣列作為返回值
  • ansi:將文本作為返回值返回

3.2 reset()

作用:重置環(huán)境的狀態(tài),返回初始觀測狀態(tài)

'''
* @breif: 重置環(huán)境,回到初始狀態(tài)
* @param[in]: seed	-> 隨機種子
* @retval: 環(huán)境初始觀測狀態(tài)
'''
state = env.reset(seed=None)

查看reset()的狀態(tài)信息

state = env.reset()
print("初始狀態(tài):", state)
print("當前狀態(tài):", env.state)

>>> 初始狀態(tài): (array([ 0.03745903, -0.02521806, -0.01444992, -0.01588714], dtype=float32), {})
>>> 當前狀態(tài): [ 0.03745903 -0.02521806 -0.01444992 -0.01588714]

在仿真開始前必須調(diào)用reset()以初始化環(huán)境。 seed可以指定環(huán)境的隨機數(shù)種子,如果想要訓練的再現(xiàn)性,或者想要根據(jù)不同的環(huán)境使用不同的隨機數(shù)種子,可以使用該參數(shù)

3.3 step()

作用:單步執(zhí)行環(huán)境動力學過程

'''
* @breif: 單步執(zhí)行環(huán)境動力學過程
* @param[in]: 動作
* @retval: 五元組(當前狀態(tài), 獎勵, 是否結束, 額外限制, 日志)
'''
state, reward, done, truncated, info = env.step(action)

查看五元組

for i in range(5):
    action = env.action_space.sample()
    state, reward, done, truncated, info = env.step(action)
    print('動作:', action, '當前狀態(tài):', state, '獎勵:', reward, '是否結束:', done, '額外限制:', truncated, '日志:', info)

>>> 動作: 1 當前狀態(tài): [-0.01200642  0.18693487  0.02998236 -0.23828246] 獎勵: 1.0 是否結束: False 額外限制: False 日志: {}
>>> 動作: 1 當前狀態(tài): [-0.00826773  0.38161597  0.02521671 -0.5213593 ] 獎勵: 1.0 是否結束: False 額外限制: False 日志: {}
>>> 動作: 0 當前狀態(tài): [-0.00063541  0.18614829  0.01478953 -0.22083813] 獎勵: 1.0 是否結束: False 額外限制: False 日志: {}
>>> 動作: 0 當前狀態(tài): [ 0.00308756 -0.00918191  0.01037276  0.07647308] 獎勵: 1.0 是否結束: False 額外限制: False 日志: {}
>>> 動作: 0 當前狀態(tài): [ 0.00290392 -0.20445101  0.01190223  0.3724105 ] 獎勵: 1.0 是否結束: False 額外限制: False 日志: {}

具體而言,五元組的含義如下:

  • 狀態(tài)state:執(zhí)行當前動作后環(huán)境轉(zhuǎn)移到的狀態(tài),例如從相機獲取的像素點,機器人各個關節(jié)的角度或棋盤游戲當前的狀態(tài)等;
  • 獎勵reward: 執(zhí)行當前動作后智能體獲得的獎勵,不同環(huán)境中獎勵值變化范圍也不相同,但強化學習的目標就是使得總獎勵值最大;
  • 是否完成done:表示是否需要將環(huán)境重置env.reset()。大多數(shù)情況下,當 done == true時就表明當前幕結束,例如當機器人摔倒或者掉出臺面,就應當及時終止;
  • 額外限制truncated:表示是否滿足額外的截斷條件,通常是一個時間限制,但也可用于指示代理物理上超出界限,可用于在達到終端狀態(tài)之前提前結束該幕
  • 信息info: 針對仿真調(diào)試過程的診斷信息

此外env.sample_space.sample()表示對動作空間進行隨機采樣,隨機采樣是gym內(nèi)嵌的baseline策略,強化學習算法中的策略至少要比這個baseline效果好

3.4 close()

作用:關閉環(huán)境

4 常見問題

  1. ImportError: cannot import name 'NotRequired' from 'typing_extensions'

    解決方案:終端運行

    pip install typing-extensions --upgrade
    

參考資料

  • OpenAI Gym官方文檔

?? 更多精彩專欄文章來源地址http://www.zghlxwxcb.cn/news/detail-448663.html

  • 《ROS從入門到精通》
  • 《Pytorch深度學習實戰(zhàn)》
  • 《機器學習強基計劃》
  • 《運動規(guī)劃實戰(zhàn)精講》

??源碼獲取 · 技術交流 · 抱團學習 · 咨詢分享 請聯(lián)系??

到了這里,關于Pytorch深度強化學習:Gym安裝與環(huán)境搭建教程(附基本指令表)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Python深度強化學習實戰(zhàn) ——OpenAI Gym-CarRacing自動駕駛項目

    Python深度強化學習實戰(zhàn) ——OpenAI Gym-CarRacing自動駕駛項目

    ????? ?? 寫在前面: 本篇是關于 OpenAI Gym-CarRacing?自動駕駛項目的博客,面向掌握 Python 并有一定的深度強化學習基礎的讀者。 GYM-Box2D CarRacing 是一種在 OpenAI Gym 平臺上開發(fā)和比較強化學習算法的模擬環(huán)境。它是流行的 Box2D 物理引擎的一個版本,經(jīng)過修改以支持模擬汽車在

    2024年02月16日
    瀏覽(28)
  • Ubuntu22.04搭建Pytorch框架深度學習環(huán)境+安裝Miniconda+安裝CUDA與cuDNN

    Ubuntu22.04搭建Pytorch框架深度學習環(huán)境+安裝Miniconda+安裝CUDA與cuDNN

    以Ubuntu為例,從零搭建Pytorch框架深度學習環(huán)境。 1.1 系統(tǒng)下載 訪問地址ubuntu官網(wǎng) 1.2 啟動盤制作 訪問ultraiso官網(wǎng) 1.2.1打開鏡像 1.2.2寫入鏡像 1.3磁盤分區(qū) 1.3.1Windows磁盤管理 對要壓縮的卷右鍵,選擇壓縮卷 壓縮出的可用空間不要進行分區(qū),等待ubuntu系統(tǒng)操作 1.3.2分區(qū)助手或DG

    2024年02月02日
    瀏覽(96)
  • 并行環(huán)境讓采樣速度快兩個量級:Isaac Gym提速強化學習

    并行環(huán)境讓采樣速度快兩個量級:Isaac Gym提速強化學習

    仿真環(huán)境的 采樣速度慢 ,是強化學習的一個瓶頸。例如,論文中常用的 MuJoCo 環(huán)境,臺式機或服務器的 CPU 上運行仿真環(huán)境,一小時大概采集十萬或百萬步(1e5 或 1e6 步);訓練一個智能體(收斂后)需要十多個小時。 加快仿真環(huán)境的采樣速度,通常有以下方法: 增加并行

    2024年02月16日
    瀏覽(19)
  • Anaconda安裝教程以及深度學習環(huán)境搭建

    Anaconda安裝教程以及深度學習環(huán)境搭建

    目錄 前言 下載Anaconda 虛擬環(huán)境的搭建 在pycharm中配置現(xiàn)有的conda環(huán)境 CUDA簡介 下載安裝pytorch包 最近換新筆記本了,要重新安裝軟件,以前本來是想要寫這個教程的,但當時由于截圖不全還要懶得再下載重裝,就放棄了,到后面又擱置了,而現(xiàn)在還要重新配置環(huán)境,所幸我有

    2024年02月11日
    瀏覽(22)
  • windows11+GPU1060安裝強化學習環(huán)境之pytorch

    這里大家看一個視頻系列,講得非常詳細,鏈接在此:https://www.bilibili.com/video/BV1S5411X7FY?p=28vd_source=3be739b673e1151850f4b8060ac78e1a 這里主要是說我遇到的問題以及解決辦法。 首先,我的筆記本是有顯卡的,只不過算力為6,較低,但是已經(jīng)差不多了,主要是想在windows上操作,嗯,還

    2024年01月19日
    瀏覽(22)
  • 深度學習pytorch環(huán)境搭建

    深度學習pytorch環(huán)境搭建

    搭建pytorch環(huán)境,主要目的還是盡量利用gpu的算力,cpu也可以但速度要慢很多,如果沒有Nvidia顯卡,torch.cuda.is_available()就是False,是正確的。即便沒有顯卡,也是可以往后面學習的,只不過運算速度會慢很多。 當數(shù)據(jù)量較大時,在GPU上的運算速度接近CPU的10倍,且隨著layer的加

    2023年04月12日
    瀏覽(28)
  • 【動手學強化學習】安裝gym subprocess-exited-with-error

    以下內(nèi)容均在ubuntu18.0.4環(huán)境使用 最近在看《動手學強化學習》安裝運行相關的gym環(huán)境時候遇到了一些問題。 1、文中使用gym為== 0.18.3 該版本 支持 python3.8, python3.9 使用會有問題,env.seed()無法直接使用。(使用3.8.16 可成功運行文中代碼) 2、在linux下本來已經(jīng)安裝了一個pyth

    2024年02月11日
    瀏覽(24)
  • 【深度強化學習】Python:OpenAI Gym-CarRacing 自動駕駛 | 提供項目完整代碼 | 車道檢測功能 | 路徑訓練功能 | 車輛控制功能

    【深度強化學習】Python:OpenAI Gym-CarRacing 自動駕駛 | 提供項目完整代碼 | 車道檢測功能 | 路徑訓練功能 | 車輛控制功能

    ????? ?? 寫在前面: 本篇是關于 OpenAI Gym-CarRacing?自動駕駛項目的博客,面向掌握 Python 并有一定的深度強化學習基礎的讀者。 GYM-Box2D CarRacing 是一種在 OpenAI Gym 平臺上開發(fā)和比較強化學習算法的模擬環(huán)境。它是流行的 Box2D 物理引擎的一個版本,經(jīng)過修改以支持模擬汽車在

    2024年02月16日
    瀏覽(23)
  • 用 GPU 并行環(huán)境 Isaac Gym + 強化學習庫 ElegantRL:訓練機器人Ant,3小時6000分,最高12000分

    用 GPU 并行環(huán)境 Isaac Gym + 強化學習庫 ElegantRL:訓練機器人Ant,3小時6000分,最高12000分

    前排提醒,目前我們能 “用 ppo 四分鐘訓練 ant 到 6000 分”,比本文的 3 小時快了很多很多,有空會更新代碼 https://blog.csdn.net/sinat_39620217/article/details/131724602 介紹了 Isaac Gym 庫 如何使用 GPU 做大規(guī)模并行仿真,對環(huán)境模塊提速。這篇帖子,我們使用 1 張 A100GPU 在 3 個小時之內(nèi)

    2024年02月16日
    瀏覽(20)
  • 全網(wǎng)最新最全的基于Tensorflow和PyTorch深度學習環(huán)境安裝教程: Tensorflow 2.10.1 加 CUDA 11.8 加 CUDNN8.8.1加PyTorch2.0.0

    全網(wǎng)最新最全的基于Tensorflow和PyTorch深度學習環(huán)境安裝教程: Tensorflow 2.10.1 加 CUDA 11.8 加 CUDNN8.8.1加PyTorch2.0.0

    本文編寫日期是:2023年4月. Python開發(fā)環(huán)境是Anaconda 3.10版本,具體Anaconda的安裝這里就不贅述了,基礎來的。建議先完整看完本文再試,特別是最后安裝過程經(jīng)驗分享,可以抑制安裝過程中一些奇怪的念頭,減少走彎路。 目錄 1. NVidia驅(qū)動安裝? 2. 安裝CUDA Toolkit 3. 安裝Tensorfl

    2024年02月08日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包