最近在学习强化学习库gym时,使用其中的env.render(mode = ‘rgb_array’)时,遇到了一个问题,报错TypeError: render() got an unexpected keyword argument ‘mode’。
原代码如下
#创建环境
#is_slippery控制会不会滑
#map_name决定地图的尺寸,还可以取8x8
#desc决定地形
env = gym.make('FrozenLake-v1',
is_slippery=False,
map_name='4x4',
desc=['SFFF', 'FHFH', 'FFFH', 'HFFG'])
env.reset()
#解封装才能访问状态转移矩阵P
env = env.unwrapped
#打印游戏
def show():
plt.imshow(env.render(mode = 'rgb_array'))
plt.show()
查阅资料后发现,要在gym.make()方法中设置mode参数,之后可省略env.render()方法中的参数。修改后的代码如下
#创建环境
#is_slippery控制会不会滑
#map_name决定地图的尺寸,还可以取8x8
#desc决定地形
env = gym.make('FrozenLake-v1',
is_slippery=False,
map_name='4x4',
desc=['SFFF', 'FHFH', 'FFFH', 'HFFG'],
render_mode='rgb_array')
env.reset()
#解封装才能访问状态转移矩阵P
env = env.unwrapped
#打印游戏
def show():
screen = env.render()
plt.imshow(screen)
plt.show()