首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何避免此错误(错误:显示曲面退出)时,呈现开放-AI健身房?

如何避免此错误(错误:显示曲面退出)时,呈现开放-AI健身房?
EN

Stack Overflow用户
提问于 2022-03-27 14:10:16
回答 1查看 212关注 0票数 0

我试图解决高山汽车问题在人工智能健身房,但当我使用env. render()时,它是第一次工作,但当我试图再次渲染仿真后,2000年运行,它会出现以下错误(错误:显示曲面退出)。如何避免此错误?

我正在使用windows,并且在一个jupyter笔记本上运行代码。

代码语言:javascript
复制
import gym
import numpy as np 
import sys

#Create gym environment.
discount = 0.95
Learning_rate = 0.01
episodes = 25000
SHOW_EVERY = 2000
    
env = gym.make('MountainCar-v0')

discrete_os_size = [20] *len(env.observation_space.high)
discrete_os_win_size = (env.observation_space.high - env.observation_space.low)/ discrete_os_size
q_table = np.random.uniform(low=-2, high=0, size=(discrete_os_size + [env.action_space.n]))

# convert continuous state to discrete state 
def get_discrete_state(state):
    discrete_State = (state - env.observation_space.low) / discrete_os_win_size
    return tuple(discrete_State.astype(int))




for episode in range(episodes):
    
    if episode % SHOW_EVERY == 0:
        render = True
        print(episode)
    else:
        render = False

    ds = get_discrete_state(env.reset())
    done = False
    while not done:
        action = np.argmax(q_table[ds])
        new_state, reward, done, _ = env.step(action)
        new_discrete_state = get_discrete_state(new_state)
        
        if episode % SHOW_EVERY == 0:
            env.render()


        if not done:
            max_future_q = np.max(q_table[new_discrete_state])
            current_q_value = q_table[ds + (action, )]
            new_q = (1-Learning_rate) * current_q_value + Learning_rate * (reward + 
                 discount * max_future_q )
            q_table[ds + (action, )] = new_q

        elif new_state[0] >= env.goal_position:
            q_table[ds + (action, )] = 0

        ds = new_discrete_state
        
   

    env.close()
EN

回答 1

Stack Overflow用户

发布于 2022-10-16 22:34:31

我也遇到了同样的问题,因为当您调用env.close()时,它会关闭环境,因此为了再次运行它,您必须创建一个新的环境。如果您想再次运行相同的环境,只需注释env.close()即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71637057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档