使用OpenAI gym工具包进行强化学习较为方便,但是OpenAI Gym的开源库中的环境大多是机器人玩游戏,很少能用于自己的使用环境。因此需要自己编写环境文件,如何将自己的环境文件加载到OpenAI Gym中去,然后import呢?
1.文件名:假设你写好的文件名字为:myenv.py
2.类名:在文件中定义的环境类名字为:MyEnv
3.放置:将文件myenv.py放置到:~/anaconda3/envs/torch/lib/python3.6/site-packages/gym/envs/robotics文件夹中;
4.注册:
4.1找到~/anaconda3/envs/torch/lib/python3.6/site-packages/gym/envs/robotics/下的__init__.py文件,在其中加入一句
from gym.envs.robotics.myenv import MyEnv
注意前面是文件名,后面是类名;
4.2 找到~/anaconda3/envs/torch/lib/python3.6/site-packages/gym/envs/下的__init__.py文件,打开后,照着前面的代码,添加一个
register:register(
id='MyEnv-v0'.format(suffix),
entry_point='gym.envs.robotics:MyEnv',
kwargs=kwargs,
max_episode_steps=50,
)
注意:MyEnv-v0中v0代表环境类的版本号,在定义类的的时候名字里可以不加,但是在id注册的时候要加,后面import的时候要加。
5.测试:
import gym
env = gym.make('MyEnv-v0)
env.reset()
for _ in range(1000):
env.render()
env.step(env.action_space.sample()) # take a random action`
参考:添加链接描述