Gym 發行說明¶
0.26.2¶
於 2022-10-04 發布 - GitHub - PyPI
發行說明
這是另一個非常小的錯誤修復版本。
錯誤修復
- 由於
reset
現在返回(obs, info)
,在向量環境中,這會導致最終step
的 info 被覆寫。現在,最終的觀察和 info 包含在 info 中,作為 "final_observation" 和 "final_info" @pseudo-rnd-thoughts - 當嘗試在未指定
render_mode
的情況下進行渲染時,新增警告 @younik - 更新 Atari Preprocessing,使 wrapper 可以被 pickled @vermouth1992
- Github CI 已加強,使 CI 僅具有讀取權限 @sashashura
- 釐清並修正
GraphInstance
中的錯字 @ekalosak
0.26.1¶
於 2022-09-16 發布 - GitHub - PyPI
發行說明
這是 0.26.0 的一個非常小的錯誤修復版本
錯誤修復
- #3072 - 之前,即使僅使用
mujoco-py
,mujoco
也是必要的模組。此問題已修正,現在僅需安裝和使用mujoco-py
即可。@YouJiacheng - #3076 - 如果未指定
env.render_mode
,PixelObservationWrapper
會引發例外。@vmoens - #3080 - 修正
CarRacing
中車輪顏色不正確的錯誤 @foxik - #3083 - 修正 BipedalWalker,如果智能體向後移動,渲染的陣列大小會不同。@younik
拼寫
0.26.0¶
於 2022-09-06 發布 - GitHub - PyPI
v0.26.0 的發行說明
此版本旨在成為核心 API 主要 API 變更的最後一個版本。先前所有「關閉」的基礎 API 變更(step 終止/截斷、reset info、無 seed 函數、由初始化決定的渲染模式)現在預設為啟用。我們仍然計劃對 Gym 本身進行破壞性變更,但僅限於非常容易升級的事物(環境和 wrappers)以及不常用的事物(向量 API)。一旦這些方面穩定下來,我們將發布適當的 1.0 版本並遵循語義版本控制。此外,除非此版本發生嚴重錯誤,我們必須發布修補程式版本,否則這將是 Gym 在一段時間內的最後一個版本。
如果您一直在等待 Gym 的「穩定」版本來升級您的專案,考慮到所有正在進行的變更,這就是您要的版本。
我們也想說,我們非常感謝社群在我們接管 Gym 的維護並對核心 API 進行所有這些重大變更的過程中,對我們的耐心。我們感謝您的耐心和支持,但希望從現在開始的所有變更都將變得更加微小。
破壞向後相容性
這些變更適用於所有 gym 的內部 wrappers 和環境,但對於未更新的環境,我們提供了 EnvCompatibility
wrapper,供使用者將舊的 gym v21 / 22 環境轉換為新的核心 API。此 wrapper 可以透過 apply_api_compatibility
參數輕鬆地在 gym.make
和 gym.register
中應用。
Step
終止/截斷 -Env.step
函數傳回 5 個值,而不是之前的 4 個 (observations, reward, termination, truncation, info
)。即將發布一篇包含更多詳細資訊的部落格文章,以解釋此決策。@arjun-kg- Reset info -
Env.reset
函數傳回兩個值 (obs
和info
),且 gym wrappers 和環境沒有return_info
參數。這對於某些為每個動作提供動作遮罩資訊的環境非常重要,而重置時不可能提供。@balisujohn - 無
Seed
函數 - 雖然Env.seed
是一個有用的函數,但它幾乎僅用於 episode 的開始,並已新增至gym.reset(seed=...)
。此外,對於一些使用外部隨機數字產生器的環境(例如 Atari),除了reset
之外,無法在任何時間設定 seed。因此,seed
不再預期在 gym 環境中起作用,並已從所有 gym 環境中移除 @balisujohn - 渲染 - 只使用單一渲染模式是正常的,為了協助開啟和關閉渲染視窗,我們已將
Env.render
變更為不接受任何引數,因此所有渲染引數都可以成為環境建構子的一部分,即gym.make("CartPole-v1", render_mode="human")
。有關新 API 的更多詳細資訊,請參閱 部落格文章 @younik
主要變更
- 渲染模式 - 在
v25
中,渲染模式的含義發生了變化,即 "rgb_array" 返回渲染幀列表,而 "single_rgb_array" 返回單個幀。在此版本中已還原,"rgb_array" 的含義與之前相同,返回單個幀,而新的模式 "rgb_array_list" 返回 RGB 陣列列表。透過在gym.make
期間應用的 wrapper 實現返回渲染觀察列表的功能。#3040 @pseudo-rnd-thoughts @younik - 新增
save_video
,它使用moviepy
渲染 RGB 幀列表,並更新RecordVideo
以使用此函數。這移除了對錄製ansi
輸出的支援。#3016 @younik RandomNumberGenerator
函數:rand
、randn
、randint
、get_state
、set_state
、hash_seed
、create_seed
、_bigint_from_bytes
和_int_list_from_bigint
已移除。@balisujohn- 將
ale-py
提升至0.8.0
,它與新的核心 API 相容 - 新增
EnvAPICompatibility
wrapper @RedTachyon
次要變更
- 新增改進的
Sequence
、Graph
和Text
範例遮罩 @pseudo-rnd-thoughts - 改進 gym
make
和register
類型提示,其中entry_point
是register
的必要參數。#3041 @pseudo-rnd-thoughts - 將所有 URL 變更為新的 gym 網站 https://www.gymlibrary.dev/ @FieteO
- 修正 mujoco 離螢幕渲染,其 weight 和 height 值 > 500 #3044 @YouJiacheng
- 允許 toy_text 環境在無頭機器上渲染 #3037 @RedTachyon
- 重新命名 mujoco swimmer envs 中的馬達 #3036 @lin826
0.25.2¶
於 2022-08-18 發布 - GitHub - PyPI
v0.25.2 的發行說明
這是一個相當小的錯誤修復版本。
錯誤修復
- 移除 step 相容性函數中對 info 內
_TimeLimit.truncated
的要求。這使 step 與 Envpool 相容 @arjun-kg - 由於在展平 spaces 時
Dict
spaces 的順序很重要,因此更新了__eq__
以考慮.keys()
的順序。@XuehaiPan - 允許 pickled
CarRacing
環境。更新所有 gym 環境以正確地 pickled。@RedTachyon - 使用整數 seeding
Dict
和Tuple
spaces 可能會導致規格較低的電腦因需要 8Gb 記憶體而掛起。更新了使用整數的 seeding,使其不需要唯一子 seed(子 seed 碰撞很少見)。對於需要所有子空間唯一子 seed 的使用者,我們建議使用包含子 seed 的字典或元組。@olipinski - 修正新渲染 api 的 metaclass 實作,以允許自訂環境也使用 metaclasses。@YouJiacheng
更新
- 簡化 step 相容性函數,使其更易於偵錯。使用舊 step API 的時間限制 wrapper 如果 terminated 和 truncated 皆為 true,則傾向於 terminated。這是因為舊的 done step API 只能編碼 3 個狀態(無法編碼
terminated=True
和truncated=True
),因此我們必須僅編碼為terminated=True
或truncated=True
。@pseudo-rnd-thoughts - 新增 Swig 作為依賴項 @kir0ul
- 為
render_mode
和metadata
新增類型註釋 @bkrl
0.25.1¶
於 2022-07-26 發布 - GitHub - PyPI
發行說明
- 為 CliffWalking 環境新增渲染 @younik
- 由於難以同時支援新舊 API,
PixelObservationWrapper
僅支援新的渲染 API。如果使用者正在使用舊的 API,則會發出警告 @vmoens
錯誤修復
- 還原 wrapper.FrameStack 上的不正確版本 @ZhiqingXiao
- 修正 mountain car 的重置邊界 @psc-g
- 移除導致錯誤無法被捕獲的跳過測試 @pseudo-rnd-thoughts
- 為沒有 metadata 的環境新增向後相容性 @pseudo-rnd-thoughts
- 修正
BipedalWalker
對於 RGB 陣列的渲染 @1b15 - 修正
PixelObsWrapper
使用新渲染的錯誤 @younik
錯字
- 重新措辭 Lunar Lander 環境中 observation 的定義 @EvanMath
gym/spaces/dict.py
中的頂部 docstring @Ice1187humanoidstandup_v4.py
、mujoco_env.py
和vector_list_info.py
中的多個錯字 @timgates42- 被動環境檢查器中的錯字 @pseudo-rnd-thoughts
- Swimmer 旋轉中的錯字 @lin826
0.25.0¶
於 2022-07-13 發布 - GitHub - PyPI
發行說明
此版本最終引入了過去一年或更長時間以來計劃的所有新 API 變更,所有這些變更都將在後續版本中預設為開啟。在此之後,Gym 的開發應該會變得非常順利。此版本還修復了 0.24.0 和 0.24.1 中存在的大型錯誤,我們強烈建議不要使用這些版本。
API 變更
Step
- 大多數深度強化學習演算法實作都是不正確的,因為理論和實務之間存在重要差異,即done
不等於termination
。因此,我們修改了step
函數以返回五個值:obs, reward, termination, truncation, info
。這些變更的完整理論和實務原因(以及範例程式碼變更)將在即將發布的部落格文章中說明。此變更旨在向後相容(目前),如有問題,請在 github 或 discord 上回報問題。@arjun-kgRender
- 渲染 API 已變更,模式必須在gym.make
期間使用關鍵字render_mode
指定,之後渲染模式將固定。有關更多詳細資訊,請參閱 https://younis.dev/blog/2022/render-api/ 和 #2671。這具有額外的變更- 使用
render_mode="human"
,您不需要呼叫 .render(),渲染將在env.step()
上自動發生 - 使用
render_mode="rgb_array"
,.render()
會彈出自上次.reset()
以來渲染的幀列表 - 使用
render_mode="single_rgb_array"
,.render()
會像以前一樣返回單個幀。
- 使用
Space.sample(mask=...)
允許在取樣動作時使用遮罩,以啟用/停用隨機取樣的特定動作。我們建議開發人員將其新增至reset(return_info=True)
和step
返回的info
參數中。請參閱 #2906,以取得遮罩或個別 spaces 的範例實作。我們已在 taxi 環境中新增此功能的範例版本。@pseudo-rnd-thoughts- 為使用圖形樣式觀察或動作 spaces 的環境新增
Graph
。目前,節點和邊緣 spaces 只能是Box
或Discrete
spaces。@jjshoots - 為涉及智能體之間通訊且具有動態長度訊息的強化學習新增
Text
space(否則可以使用MultiDiscrete
)。@ryanrudes @pseudo-rnd-thoughts
錯誤修復
- 修正 car racing 終止,如果智能體完成最後一圈,則環境會透過截斷而不是終止結束。這為 Car racing 新增了版本升級至 v2,並移除了 Car racing discrete,改為使用
gym.make("CarRacing-v2", continuous=False)
@araffin - 在
v0.24.0
中,opencv-python
意外地成為專案的必要條件。此問題已還原。@KexianShen @pseudo-rnd-thoughts - 更新
utils.play
,以便如果環境指定keys_to_action
,該函數將自動使用該資料。@Markus28 - 在渲染 blackjack 環境時,修正了渲染會變更莊家頂牌的錯誤。@balisujohn
- 更新 mujoco docstring 以反映意外被覆寫的變更。@Markus28
其他
- 整個專案都使用 pyright 進行部分類型提示(專案檔案中沒有任何檔案被類型提示器忽略)。@RedTachyon @pseudo-rnd-thoughts(未來的工作將為核心 API 新增嚴格的類型提示)
- 動作遮罩已新增至 taxi 環境(由於向後相容性,因此沒有版本升級)@pseudo-rnd-thoughts
Box
space 形狀推斷允許將high
和low
純量自動設定為(1,)
形狀。識別純量的次要變更。@pseudo-rnd-thoughts- 在經典控制環境中新增選項支援,以修改環境初始隨機狀態的邊界 @psc-g
RecordVideo
wrapper 即將被棄用,新的渲染 API 不支援TextEncoder
。計劃將RecordVideo
替換為單個函數,該函數將接收來自環境的幀列表,並使用MoviePy
自動將其渲染為影片。@johnMinelli- gym
py.Dockerfile
透過多項最佳化,從 2Gb 優化至 1.5Gb @TheDen
0.24.1¶
於 2022-06-07 發布 - GitHub - PyPI
這是 0.24.0 版本的錯誤修復版本
錯誤修復
- 取代 V24 中引入的環境檢查器,使環境檢查器不會在 make 期間呼叫
step
和reset
。此新版本是一個 wrapper,它將觀察step
和reset
在首次呼叫時返回的資料,並根據環境檢查器檢查資料。@pseudo-rnd-thoughts - 修正 MuJoCo v4 引數金鑰回呼、關閉渲染器中的環境以及 mujoco_rendering close 方法。@rodrigodelazcano
- 移除註冊中的冗餘警告 @RedTachyon
- 從 MuJoCo xml 檔案中移除數學運算 @quagla
- 新增對 unpickling legacy
spaces.Box
的支援 @pseudo-rnd-thoughts - 修正 mujoco 環境動作和觀察 space docstring 表格 @pseudo-rnd-thoughts
- 停用 wrappers 存取
_np_random
屬性,且np_random
現在會轉發到環境 @pseudo-rnd-thoughts - 重寫 setup.py 以新增「testing」meta 依賴群組 @pseudo-rnd-thoughts
- 修正了
rescale_action
wrapper 中的文件字串 (docstring) @gianlucadecola
0.24.0¶
於 2022-05-25 發布 - GitHub - PyPI
主要變更
- 新增了 v4 mujoco 環境,其使用新的 deepmind mujoco 2.2.0 模組。
這可以透過pip install gym[mujoco]
安裝,而舊的綁定仍然
可透過v3
環境和pip install gym[mujoco-py]
取得。
這些新的v4
環境應具有與v3
相同的訓練曲線。對於 Ant 環境,我們發現有一個
接觸參數在v3
中未應用,但在v4
中可以啟用,然而發現這會產生顯著
更差的效能,請參閱評論 以了解更多詳情。@rodrigodelazcano - 向量環境 step
info
API 已變更,以便未來能支援硬體加速。
請參閱 此 PR 以了解修改後的info
風格,現在使用字典而非環境資訊列表。
如果您仍然希望使用列表 info 風格,請使用VectorListInfo
wrapper。@gianlucadecola - 在
gym.make
上,會執行 gymenv_checker
,其中包含呼叫環境的reset
和step
以檢查
環境是否符合 gym API。若要停用此功能,請執行gym.make(..., disable_env_checker=True)
。@RedTachyon - 重新加入了
gym.make("MODULE:ENV")
匯入風格,該風格在 v0.22 中意外移除 @arjun-kg Env.render
現在強制執行順序,使得在呼叫Env.render
之前,必須先呼叫Env.reset
。如果這是必要
的功能,請將OrderEnforcer
wrapper 的disable_render_order_enforcing
設定為True
。@pseudo-rnd-thoughts- 在 Lunar Lander 環境中新增了風和亂流,預設情況下是關閉的,
請使用wind_power
和turbulence
參數。@virgilt - 改進了
play
函數,允許傳遞多個鍵盤字母,而不是 ascii 值 @Markus28 - 為大多數儲存庫新增了 google 風格的 pydoc 字串 @pseudo-rnd-thoughts @Markus28
- 透過
gym.make("CarRacing-v1", continuous=False)
新增了離散的賽車環境版本 - Pygame 現在是 box2d 和經典控制環境的可選模組,僅在渲染時是必要的。
因此,請使用pip install gym[box2d]
或pip install gym[classic_control]
安裝 pygame @gianlucadecola @RedTachyon - 修正了批次空間 (在 VectorEnv 中使用) 中的錯誤,原始空間的 seed 會被忽略 @pseudo-rnd-thoughts
- 新增了
AutoResetWrapper
,當Env.step
完成 (done) 為 True 時,會自動呼叫Env.reset
@balisujohn
次要變更
- BipedalWalker 和 LunarLander 的觀察空間具有非無限的上限和下限。@jjshoots
- 將 ALE-py 版本升級至
0.7.5
- 透過不渲染螢幕外的多邊形,改善了賽車的效能 @andrewtanJS
- 修正了賽車中方向指示燈為黑色而非紅色/白色的問題 @jjshoots
VecEnvWrapper
的錯誤修正,將方法呼叫轉發到環境 @arjun-kg- 移除了 Box2d 上不必要的 try except,因此如果
Box2d
未正確安裝,則會顯示更有幫助的錯誤訊息 @pseudo-rnd-thoughts - 簡化了
gym.registry
後端 @RedTachyon - 透過 python 3.7+ 模組的回溯移植,重新加入了 python 3.6 支援。這未經測試,且與 mujoco 環境不相容。@pseudo-rnd-thoughts
0.23.1¶
於 2022-03-11 發布 - GitHub - PyPI
此版本包含一些小的錯誤修正,沒有重大變更。
- 使
VideoRecorder
向下相容於gym<0.23
,由 @vwxyzjn 在 #2678 中完成 - 修正了 pygame 事件處理的問題 (應修正 windows 和 jupyter notebook 上的支援),由 @andrewtanJS 在 #2684 中完成
- 由 @micimize 在 https://github.com/openai/gym/p 中將 py.typed 新增至 package_data
- 修正了 CI 中約 1500 個警告 @pseudo-rnd-thoughts
- 棄用警告現在能正確顯示 @vwxyzjn
- 修正了移除 striker 和 thrower 的問題 @RushivArora
- 修正了小的依賴項警告錯誤 errorr @ZhiqingXiao
0.23.0¶
於 2022-03-04 發布 - GitHub - PyPI
此版本包含許多錯誤修正和一些小的變更。
重大變更
- 在渲染重大變更之前,標準化了渲染 metadata 變數 @trigaten
- 移除了已棄用的 monitor wrapper 和相關的無用程式碼 @gianlucadecola
- 未使用的 striker 和 thrower MuJoCo 環境已移至 https://github.com/RushivArora/Gym-Mujoco-Archive @RushivArora
許多次要錯誤修正 (@vwxyzjn 、 @RedTachyon 、 @rusu24edward 、 @Markus28 、 @dsctt 、 @andrewtanJS 、 @tristandeleu 、 @duburcqa)
0.22.0¶
於 2022-02-17 發布 - GitHub - PyPI
v0.22 發行說明
此版本代表 Gym 有史以來最大規模的變更集,並且是朝向 1.0 計畫邁進的一大步,概述於此:#2524
Gym 現在有一個新的綜合文件網站:https://www.gymlibrary.ml/ !
API 變更
-
Env.reset
現在接受三個新參數 -
options
:可用於控制課程學習等,而無需重新初始化環境,這可能會很耗費資源 (@RedTachyon) -
seed
:環境種子 (seed) 將來可以傳遞到此 reset 參數。舊的.seed()
方法正在被棄用,改用此參數,但為了向後相容性,在 1.0 版本發布之前,它將繼續像以前一樣運作 (@RedTachyon) -
return_info
:當設定為True
時,reset 將傳回 obs, info。目前預設為False
,但在 Gym 1.0 中將成為預設行為 (@RedTachyon) -
環境名稱在註冊期間不再需要版本,並且會建議智慧型相似名稱 (@kir0ul, @JesseFarebro)
-
向量環境現在支援
info
中的 terminal_observation,並支援批次動作空間 (@vwxyzjn, @tristandeleu)
環境變更
- blackjack 和 frozen lake toy_text 環境現在使用 PyGame 進行精美的圖形渲染 (@1b15)
- 將 robotics 環境移至 gym-robotics 套件 (@seungjaeryanlee, @Rohan138, @vwxyzjn) (根據 #2456 (comment) 中的討論)
- bipedal walker 和 lunar lander 環境已合併為一個類別 (@andrewtanJS)
- Atari 環境現在使用標準的 seeding API (@JesseFarebro)
- 修正了 car_racing box2d 環境中的重大錯誤修正,版本已升級 (@carlosluis, @araffin)
- 重構了所有 box2d 和 classic_control 環境,以使用 PyGame 而非 Pyglet,因為 pyglet 的問題一直是 gym 專案生命週期中最常見的 GitHub 問題來源之一 (@andrewtanJS)
其他變更
- 移除了 DiscreteEnv 類別,內建環境不再使用它 (@carlosluis)
- 新增了大量的型別提示 (@ikamensh, @RedTachyon)
- Python 3.10 支援
- 大量的額外程式碼重構、清理、錯誤訊息改進和小錯誤修正 (@vwxyzjn, @Markus28, @RushivArora, @jjshoots, @XuehaiPan, @Rohan138, @JesseFarebro, @Ericonaldo, @AdilZouitine, @RedTachyon)
- 所有環境檔案現在都在頂部有大幅改進的 readme (文件網站會自動從中提取)
- 作為 seeding 變更的一部分,Gym 的 RNG 已修改為使用
np.random.Generator
,因為 RandomState API 已被棄用。方法randint
、rand
、randn
分別被integers
、random
和standard_normal
取代。因此,隨機數字產生器已從MT19937
變更為PCG64
。
完整變更日誌:v0.21.0...0.22.0
v0.21.0¶
於 2021-10-02 發布 - GitHub - PyPI
v0.21.0 發行說明
- 舊的 Atari 入口點已修復,該入口點在上一個版本和 ALE-Py 的升級中已損壞 (@JesseFarebro)
- Atari 環境現在提供更清晰的錯誤訊息和警告 (@JesseFarebro)
- 新增了一個新的外掛程式系統,以便更輕鬆地包含第三方環境 (@JesseFarebro)
- Atari 環境現在使用新的外掛程式系統,以防止名稱衝突和其他問題 (@JesseFarebro)
pip install gym[atari]
不再分發 ALE (使用的 Atari 模擬器) 執行各種遊戲所需的 Atari ROM。將 ROM 安裝到 ALE 的最簡單方法是使用 AutoROM。Gym 現在有一個 AutoROM 的 hook,以便更輕鬆地進行 CI 自動化,因此使用pip install gym[accept-rom-license]
會呼叫 AutoROM 將 ROM 新增到 ALE。您可以使用簡寫gym[atari, accept-rom-license]
安裝整個套件。請注意,如名稱所述,透過安裝gym[accept-rom-license]
,您確認您擁有安裝 ROM 的相關授權。(@JesseFarebro)- 修正了在 box 動作空間中使用環境的舊版 Gym 上訓練的已儲存策略載入時,意外的重大變更。(@RedTachyon)
- Pendulum 對其物理邏輯進行了小的修正,並且版本已升級到 v1 (@RedTachyon)
- 測試已重構為有條理的方式 (@RedTachyon)
- Dict 空間現在具有標準的 dict 輔助方法 (@Rohan138)
- 環境屬性現在會轉發到 wrapper (@tristandeleu)
- Gym 現在正確地強制執行在第一次 step 之前呼叫 reset (@ahmedo42)
- 將錯誤訊息正確地管道傳輸到 stderr (@XuehaiPan)
- 修正了影片儲存問題 (@zlig)
此外,Gym 正在編譯第三方環境列表到我們正在開發的新文件網站中。請提交 PR 以取得遺失的環境:https://github.com/openai/gym/blob/master/docs/third_party_environments.md
完整變更日誌:v0.20.0...v0.21.0
v0.20.0¶
於 2021-09-14 發布 - GitHub - PyPI
v0.20.0 發行說明
重大變更
- 以 ALE-Py 取代 Atari-Py 依賴項,並升級所有版本。這是一次大規模升級,包含許多變更,請參閱 完整說明 (@JesseFarebro)
- 請注意,ALE-Py 不包含 ROM。您可以使用
AutoROM
以兩行 bash 指令安裝 ROM (pip3 install autorom and then autorom
),請參閱 https://github.com/PettingZoo-Team/AutoROM。這是 CI 等的建議方法。
重大變更和新功能
- 新增
RecordVideo
wrapper,棄用monitor
wrapper,改用它和RecordEpisodeStatistics
wrapper (@vwxyzjn) - 環境外部使用的依賴項 (例如,用於 wrappers) 現在位於
gym[other]
中 (@jkterry1) - 將演算法和未使用的 toy-text 環境 (guessing game、hotter colder、nchain、roulette、kellycoinflip) 移至第三方儲存庫 (@jkterry1, @Rohan138)
- 修正了 MultiDiscrete 空間中的 flatten 工具和 flatdim (@tristandeleu)
- 將
__setitem__
新增至 dict 空間 (@jfpettit) - 大幅修正了 box 空間的
.contains
方法 (@FirefoxMetzger) - 使 blackjack 環境完全符合 Barto 和 Sutton 書籍標準,版本升級至 v1 (@RedTachyon)
- 新增了
NormalizeObservation
和NormalizeReward
wrappers (@vwxyzjn) - 將
__getitem__
和__len__
新增至 MultiDiscrete 空間 (@XuehaiPan) - 將
.shape
變更為 box 空間的屬性,以防止意外行為 (@RedTachyon)
錯誤修正和升級
- 影片錄製器能優雅地處理關閉 (@XuehaiPan)
- setup.py 中剩餘的不必要依賴項已解決 (@jkterry1)
- 次要的 acrobot 效能改進 (@TuckerBMorgan)
- Pendulum 在發送 0 力時能正確渲染 (@Olimoyo)
- 使所有經典控制環境和 bipedal-walker 的觀察 dtype 與觀察空間 dtype 一致 (@RedTachyon)
- 移除了註冊中未使用且長期棄用的功能 (@Rohan138)
- Framestack wrapper 現在繼承自 obswrapper (@jfpettit)
spaces.Tuple
和spaces.Dict
的 Seed 方法現在能正常運作、完全隨機、功能完整且以預期的方式運作 (@XuehaiPan, @RaghuSpaceRajan)- 以
perf_counter()
取代time()
,以更好地測量短時間 (@zuoxingdong)
完整變更日誌:0.19.0...v0.20.0
0.19.0¶
於 2021-08-13 發布 - GitHub - PyPI
Gym 0.19.0 是一個大型維護版本,也是自從 @jkterry1 成為維護者以來的第一個版本。此版本不應有重大變更。
新功能
- 將自訂資料類型參數新增至 multidiscrete 空間 (@m-orsini)
- 根據 SB3 和 PettingZoo 測試新增了 API 相容性測試 (@amtamasi)
- RecordEpisodeStatics 可與 VectorEnv 搭配使用 (@vwxyzjn)
錯誤修復
- 移除了未使用的依賴項、移除了導致較新機器上安裝問題的不必要依賴項版本需求、新增了完整的 requirements.txt 並將一般依賴項移至 extras。值得注意的是,「toy_text」不是使用的額外功能。atari-py 現在已釘選到精確的工作版本,等待切換到 ale-py (@jkterry1)
- 修正了 FrozenLake 和 FrozenLake8x8 中的獎勵錯誤;版本升級至 v1 (@ZhiqingXiao)
-移除了剩餘的 numpy 棄用警告 (@super-pirata) - 修正了影片錄製問題 (@mahiuchun, @zlig)
- EZ pickle 參數修正 (@zzyunzhi, @Indoril007)
- 其他非常小的 (非重大) 修正
其他
0.12.5¶
v0.9.6¶
於 2018-02-01 發布 - GitHub - PyPI
- 現在您的
Env
和Wrapper
子類別應定義step
、reset
、render
、close
、seed
,而不是底線方法名稱。 - 移除了
board_game
、debugging
、safety
、parameter_tuning
環境,因為它們未由 OpenAI 維護。我們鼓勵作者和使用者為這些環境建立新的儲存庫。 - 將
MultiDiscrete
動作空間變更為範圍從[0, ..., n-1]
而非[a, ..., b-1]
。 - 不再有
render(close=True)
,請使用環境特定的方法來關閉渲染。 - 移除了
scoreboard
目錄,因為該網站已不存在。 - 將
gym/monitoring
移至gym/wrappers/monitoring
- 將
dtype
新增至Space
。 - 不再使用 python 的內建模組,改用
gym.logger