(3) 更為標準的建立Gym環境的方式(一個PIP包的形式)——學習筆記
- 搭建框架,首先確定檔案結構:
custom-gym/
|-- README.md
|-- setup.py
|-- custom_gym/
| |-- __init__.py
| |-- envs/
| | |-- __init__.py
| | |-- custom_env.py
| | |-- custom_env_extend.py
一級目錄為custom-gym. 你可以取任何不衝突的名字。包含setup.py(安裝), README.md(說明書)和custom_gym資料夾(環境主體)。
二級目錄為custom_gym.包含init.py(初始化)和envs資料夾(環境指令碼)。
三級目錄為envs.包含init.py(初始化)和兩個測試環境指令碼custom_env.py和custom_env_extend.py(當然你也可以只測試一個或者多加幾個試試)。
- 配置給個檔案
(1) custom-gym/README.md 可以空著,等寫好壞境再寫描述。
(2) custom-gym/setup.py 應該包含:
from setuptools import setup
setup(name='custom_gym', # Secondary directory
version='0.1',
install_requires=['gym'] # And any other dependencies needs
)
(3) custom-gym/custom_gym/init.py 應該包含:
from gym.envs.registration import register
register(
id='custom_env-v0', # Format should be xxx-v0, xxx-v1....
entry_point='custom_gym.envs:CustomEnv', # Expalined in envs/__init__.py
)
register(
id='custom_env_extend-v0',
entry_point='custom_gym.envs:CustomEnvExtend',
)
(4) custom-gym/custom_gym/envs/init.py 應該包含:
from custom_gym.envs.custom_env import CustomEnv
from custom_gym.envs.custom_env import CustomEnvExtend
(5) custom-gym/custom_gym/envs/custom_env.py 應該長這個樣子:
import gym
class CustomEnv(gym.Env):
def __init__(self):
print('CustomEnv Environment initialized')
def step(self):
print('CustomEnv Step successful!')
def reset(self):
print('CustomEnv Environment reset')
# 這裡省去了render,close等模組
(6) 同理,custom-gym/custom_gym/envs/custom_env_extend.py 應該長這個樣子:
import gym
class CustomEnvExtend(gym.Env):
def __init__(self):
print('CustomEnvExtend Environment initialized')
def step(self):
print('CustomEnvExtend Step successful!')
def reset(self):
print('CustomEnvExtend Environment reset')
- 安裝與測試
開啟Anaconda Prompt, 切換目錄到一級目錄custom-gym,就是包含setup.py這個資料夾。然後執行:pip install -e .
接下來就可以愉快的測試了:
import gym
import custom_gym
env = gym.make('custom_env-v0')
env.step()
env.reset()
env2 = gym.make('custom_env_extend-v0')
env2.step()
env2.reset()
相關文章
- gym建立環境、自定義gym環境
- 為 Node.js 應用建立一個更安全的沙箱環境Node.js
- 【記錄】強化學習環境legged_gym配置強化學習
- 【OCP學習筆記】配置網路環境 -- 3筆記
- 學習筆記|AS入門(一) 環境篇筆記
- (一)Linux環境的學習環境的搭建Linux
- 強化學習實戰 | 自定義Gym環境強化學習
- 學習筆記:MQTT環境搭建筆記MQQT
- webpack學習筆記(mac環境)Web筆記Mac
- webpack學習筆記:搭建基本的前端開發環境Web筆記前端開發環境
- 搭建gym環境
- android學習筆記--檢測是否為wifi環境Android筆記WiFi
- 準備Python環境學習OpenCV的使用PythonOpenCV
- Dockerfile 與 Compose 環境搭建學習筆記(一)Docker筆記
- Android環境搭建學習筆記Android筆記
- React學習筆記1:環境搭建React筆記
- STREAMS筆記(1) step by step 建立一個Streams複製環境筆記
- Xamarin 學習筆記 - 配置環境(Windows & iOS)筆記WindowsiOS
- perl學習筆記--搭建開發環境筆記開發環境
- Maven 學習筆記——Maven環境配置(1)Maven筆記
- GoldenGate學習筆記(10)_RAC環境Go筆記
- C++學習筆記 — STL標準模板庫C++筆記
- java學習日記-java環境的配置Java
- 強化學習實戰 | 自定義Gym環境之掃雷強化學習
- TypeScript學習筆記(一)環境搭建和資料型別TypeScript筆記資料型別
- TLSv 1.3 網路安全標準通過 帶來更安全的網路環境TLS
- 一個 GitLab CI/CD 的學習筆記Gitlab筆記
- 一個DBA總結的MySQL學習筆記MySql筆記
- XNA是一統遊戲開發環境的標準?(轉)遊戲開發開發環境
- 【Python學習筆記】-虛擬環境virtualenvPython筆記
- laravel學習筆記之開發環境搭建Laravel筆記開發環境
- 學習筆記:openstack實驗環境安裝筆記
- kafka學習筆記1:測試環境搭建Kafka筆記
- 【OCP學習筆記】配置網路環境 -- 4筆記
- 【OCP學習筆記】配置網路環境 -- 1筆記
- 【OCP學習筆記】配置網路環境 -- 2筆記
- .net環境下ckeditor與ckfinder學習筆記筆記
- 使用conda&pip在指定環境下安裝需要的包