Gym.make('CartPole-v0')返回什么,它如何工作?

时间:2018-08-23 04:23:02

标签: python openai-gym

我知道func updateFeatures(for node : SCNNode, using anchor : ARFaceAnchor) { let child = node.childNode(withName: "myNose", recursively: false) as? MyGraphicNode let vertices = [anchor.geometry.vertices[9]] child?.updatePosition(for: vertices) } 的类型为env=gym.make('CartPole-v0')

我也知道env是cartpole.py类的“实例”。我的问题是,如何通过仅赋予名称“ CartPole-v0”来访问cartpole.py类。该流程在哪里实施?我试图从site-package文件夹中的Gym文件夹中查找它,但是我找不到/理解该过程在哪里进行。我不确定我上面的陈述是否正确,我在问这个问题以了解执行Gym.make('CartPole-v0')及其相关主题的过程,以便更多地了解编码一般来说。我的猜测是我误会了一些东西

1 个答案:

答案 0 :(得分:1)

https://github.com/openai/gym/blob/e689f93a425d97489e590bba0a7d4518de0dcc03/gym/envs/__init__.py#L53-L58

您可以在Gym.envs模块的__init__.py中的此行中看到,该环境已在所有其他环境中注册。入口点告诉Gym在使用此版本的环境时使用什么python类。除此之外,您还可以将其他关键字辩论传递给环境构造函数。

gym.make的核心将调用与这些行中所见的环境id相对应的构造函数,以及一些其他步骤。

https://github.com/openai/gym/blob/e689f93a425d97489e590bba0a7d4518de0dcc03/gym/envs/registration.py#L85-L86