【gym】理解gym并测试gym小游戏CartPole (一)

一、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

解释说明:

  1. import gym :gym是一个库(某工具包),其安装在D:\env\anaconda\envs\test38\Lib\site-packages文件下。这个安装路径,说明了有一个虚拟环境envs—名称为test38,所有安装包(例如:gym,numpy,torch,matplotlib等)都安装在site-packages下。
  2. 在文件夹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 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值