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专门来画图