Python “开放式人工智能”;健身房“;库在env.render()上引发非类型错误

Python “开放式人工智能”;健身房“;库在env.render()上引发非类型错误,python,machine-learning,openai-gym,q-learning,Python,Machine Learning,Openai Gym,Q Learning,这是我第一次使用机器学习库,我曾经自己做过,当我做的时候,我想当每个人都告诉你不要自己做这项工作,让库为你做这项工作时,你最终会尝试,我尝试了python上的OpenAI“健身房”,我的代码非常简单(我在youtube视频上找到了它,该视频解释了如何使用这个图书馆,因为我不知道自己将进入什么领域) 此代码返回以下错误: 回溯(最近一次呼叫最后一次): 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\

这是我第一次使用机器学习库,我曾经自己做过,当我做的时候,我想当每个人都告诉你不要自己做这项工作,让库为你做这项工作时,你最终会尝试,我尝试了python上的OpenAI“健身房”,我的代码非常简单(我在youtube视频上找到了它,该视频解释了如何使用这个图书馆,因为我不知道自己将进入什么领域)

此代码返回以下错误:

回溯(最近一次呼叫最后一次): 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\uuuu init\uuuuuu.py”,第378行,位于getattr 返回getattr(self.\u模块,名称) AttributeError:“非类型”对象没有“获取默认值”属性

在处理上述异常期间,发生了另一个异常:

回溯(最近一次呼叫最后一次): 文件“C:/Users/user/PycharmProjects/TestOnGymLibrary/me/RoeeHerzovich/TestOnGymLibrary

/“Core.py”,第11行,in env.render() 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\gym\core.py”,第235行,在render中 返回self.env.render(模式,**kwargs) 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\gym\envs\classic\u control\mountain\u car.py”,第78行,在渲染中 从gym.envs.classic_控件导入渲染 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\gym\envs\classic\u control\rendering.py”,第27行,在 从pyglet.gl导入* 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\gl\uuuu init\uuuuu.py”,第239行,在 导入pyglet.window 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\window\uuuu init\uuuu.py”,第1896行,在 gl._创建_阴影_窗口() 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\gl\uuuuuu init\uuuuuuuu.py”,第208行,在创建阴影窗口中 _阴影_窗口=窗口(宽度=1,高度=1,可见=假) 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\window\win32\uuuuuu init\uuuuuu.py”,第134行,在init 超级(Win32Window,self)。init(*args,**kwargs) 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\window\uuuuuu init\uuuuuu.py”,第501行,在init 显示=获取平台()。获取默认显示() 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\window\uuuu init\uuuuu.py”,第1845行,在get\u default\u显示中 返回pyglet.canvas.get_display() 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\canvas\uuuuu init\uuuuu.py”,第77行,在get\u显示中 从pyglet.app导入显示 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\app\uuuu init\uuuuu.py”,第175行,在 event_loop=EventLoop() 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\app\base.py”,第119行,位于init self.clock=clock.get_default() 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\uuuu init\uuuuuu.py”,第384行,位于getattr 导入(导入名称) 文件“C:\Users\user\PycharmProjects\TestOnGymLibrary\venv\lib\site packages\pyglet\clock.py”,第166行,在 _默认_time_函数=time.clock AttributeError:模块“time”没有“clock”属性

我试着找地方找这个,但我没有看到。。。 我安装了gym、matplotlib和pyglet,我检查了它们,甚至尝试升级它们,它说它已经升级了,所以我不知道发生了什么。有人能帮我吗


感谢您的所有评论:)

真正的错误来自您发布的跟踪的底部:

\u default\u time\u function=time.clock AttributeError:模块“time”没有属性“clock”

这个错误已经被解决了

选项:

查找调用time.clock()的位置,并将其更改为time.perf_counter()


降级到3.7,除了时间。性能计数器()还有一件事需要更改。我都写在这里了。 感谢所有在这里帮助我的人

答复:

班级:Clock.py 世界其他地区:166 旧:\默认值\时间\函数=time.clock 更改为:_default_time_function=time.perf_counter()

班级:Clock.py 世界其他地区:251 old:self.next\u ts=self.time()
改为:self.next\u ts=self.time

我想你必须找到并检查
“MountainCar-v0”
的代码,看看为什么
render()
需要额外的参数。哦,该死,这意味着要深入挖掘openAI的健身房库。。。。哦。。。这就是为什么我讨厌依赖图书馆,更喜欢自己做事情。。。我会研究它,或者至少,我会尝试,谢谢你的建议,我已经将time.clock.pref_counter()改为time.pref_counter(),它引发了一个不同的错误:>第251行,在init self.next_ts=self.time()>类型错误:“float”对象不可调用
    import gym

env = gym.make("MountainCar-v0")
env.reset()

done = False

while not done:
    action = 2
    newState, reward, done, _ = env.step(action)
    env.render()

env.close()