(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配置強化學習
- (一)Linux環境的學習環境的搭建Linux
- 準備Python環境學習OpenCV的使用PythonOpenCV
- webpack學習筆記(mac環境)Web筆記Mac
- 學習筆記:MQTT環境搭建筆記MQQT
- Android環境搭建學習筆記Android筆記
- Dockerfile 與 Compose 環境搭建學習筆記(一)Docker筆記
- 使用Anaconda建立一個自己的環境
- 強化學習實戰 | 自定義Gym環境強化學習
- webpack學習筆記:搭建基本的前端開發環境Web筆記前端開發環境
- 搭建gym環境
- 機器學習筆記——特徵標準化機器學習筆記特徵
- 一個 GitLab CI/CD 的學習筆記Gitlab筆記
- Xamarin 學習筆記 - 配置環境(Windows & iOS)筆記WindowsiOS
- 【Python學習筆記】-虛擬環境virtualenvPython筆記
- 使用conda&pip在指定環境下安裝需要的包
- maven環境下建立一個spring的java工程MavenSpringJava
- java學習日記-java環境的配置Java
- 成為一個有目標的學習者
- C++學習筆記 — STL標準模板庫C++筆記
- Android學習筆記(建立Menu,Intent的使用)Android筆記Intent
- TLSv 1.3 網路安全標準通過 帶來更安全的網路環境TLS
- TypeScript學習筆記(一)環境搭建和資料型別TypeScript筆記資料型別
- 一個DBA總結的MySQL學習筆記MySql筆記
- 日誌庫 winston 的學習筆記 - 建立一個使用 winston 的 Node.js 應用筆記Node.js
- 強化學習實戰 | 自定義Gym環境之掃雷強化學習
- Dockerfile 與 Compose 環境搭建學習筆記(二)Docker筆記
- [學習筆記]使用 Anaconda 管理虛擬環境筆記
- 學習筆記:openstack實驗環境安裝筆記
- laravel學習筆記之開發環境搭建Laravel筆記開發環境
- conda pip pip3 安裝包的一些常見用法
- 學習使用azureCLI建立linux環境Linux
- 《C++ Primer》學習筆記(八):標準 IO 庫C++筆記
- freeRTOS核心學習筆記(1)-程式設計標準筆記程式設計
- 第一個完整的spring查詢功能學習筆記【Spring工程學習筆記(二)】Spring筆記
- JavaScript中的物件學習筆記(概述和建立)JavaScript物件筆記