一、gym与文件位置的联合理解
import gym
import inspect
# 加载 CliffWalking 环境
env = gym.make('CliffWalking-v0')
# 获取环境的类
env_class = type(env)
# 获取环境类所在的文件路径
file_path = inspect.getfile(env_class)
print(f"The source code for CliffWalking-v0 is located at: {
file_path}")
输出结果:
The source code for CliffWalking-v0 is located at: D:\env\anaconda\envs\test38\lib\site-packages\gym\wrappers\order_enforcing.py
解释说明:
import gym:gym是一个库(某工具包),其安装在D:\env\anaconda\envs\test38\Lib\site-packages文件下。这个安装路径,说明了有一个虚拟环境envs—名称为test38,所有安装包(例如:gym,numpy,torch,matplotlib等)都安装在site-packages下。- 在文件夹site-packages中打开子文件夹gym.
当我们单独使用gym下的子文件的时候,方法为:import gym.envs或者import gym.spaces
__init__.py是以长下划线开头的,则默认在import gym的时候会默认运行该文件中的代码。
__init__.py中会导入所有有用的内容,如下
我们在pycharm中输入gym.后会自动有如下的提示!

二、在pycharm中示例一个gym小游戏
2.1 可能出现的报错问题
我们给定一个代码,经常会出现的问题。
import gym
import numpy as np
# 创建CartPole环境
env = gym.make('CartPole-v1')
#env = gym.make('CartPole-v1', render_mode='rgb_array') # 使用'rgb_array'模式进行渲染,这将返回一个图像数组而不是显示图像
# 初始化环境
state = env.reset()
# 运行环境循环
for i in range(1000):
env.render() # 渲染环境
action = np.random.randint(0, 2) # 随机选择动作(0或1)
state, reward, terminated, _, _ = env.step(action) # 执行动作并获取新状态、奖励和终止标志
if terminated:
state

最低0.47元/天 解锁文章
15万+

被折叠的 条评论
为什么被折叠?



