gym0.26.2版本相比0.9版本用法变化

gym0.26.2高版本相比于低版本0.9的用法大有不同

(1)gym.error.DeprecatedEnv: Environment version v0 for Pendulum is deprecated. Please use Pendulum-v1 instead.

低版本用法:

env = gym.make('Pendulum-v0').unwrapped

解决方案,高版本用法修改成:

env = gym.make('Pendulum-v1').unwrapped

(2)AttributeError: ‘PendulumEnv’ object has no attribute ‘seed’

参考资料:
AttributeError:‘CartPoleEnv‘ object has no attribute ‘seed‘解决方案_行业边缘的摸鱼怪的博客-CSDN博客 https://blog.csdn.net/dream6985/article/details/126847399

低版本用法:

env.seed(args.seed)

高版本用法修改成:

env.reset(seed=args.seed)

(3)reset函数方法的返回值个数增加

低版本用法:

state = env.reset()

高版本用法修改成:

state, info = env.reset()

(4)step函数方法的返回值个数增加

低版本用法:

observation, reward, done, info = env.step(action)

高版本用法修改成:

observation, reward, terminated, truncated, info = env.step(action)

(5)画面渲染

低版本渲染画面的方法:

env = gym.make("Pendudulm-v1")
env.render()

高版本渲染画面不再使用render函数,直接设置render_mode="human"不需要render函数就可以

env = gym.make("Pendulum-v1", render_mode="human")

默认绘制每一步的环境画面,如果需要在执行一定步骤动作之后绘制画面,这样用是不行滴。一种可行的办法是在需要测试环境画面的时候,创建一个新的环境env_test专门来画图

猜你喜欢

转载自blog.csdn.net/ningmengzhihe/article/details/131513292
今日推荐