注册在jupyter笔记本电池内定义的健身房环境 [英] Register gym environment that is defined inside a jupyter notebook cell

查看:24
本文介绍了注册在jupyter笔记本电池内定义的健身房环境的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试注册一个在CoLab上运行的Jupyter笔记本的单元内定义的环境。我的问题与入口点有关。必须在冒号之前指定某个模块。但是我怎么知道底层CoLab笔记本的模块名称呢?是否有一些解决方法可以将我的自定义环境包装在一个模块中,而不将代码移动到另一个文件中?我更喜欢把所有东西都放在整个笔记本里。

try:
  gym.envs.register(
      id='myenv-v0',
      entry_point=':MyEnv',
      max_episode_steps=320
  )
except:
    pass

如果我调用gim.make(";myenv-v0";)

ModuleNotFoundError: No module named 'base'

尝试挡路是因为一个事件ID不能注册两次。可能会再次运行所有笔记本单元格。

推荐答案

写完此问题后,我终于找到了正确的关键字来进行适当的搜索以找到解决方案。

可以使用

检索基础模块名称
import sys
sys.modules[__name__]

因此,入口点的模块名称为";main";。

try:
  gym.envs.register(
      id='myenv-v0',
      entry_point='__main__:MyEnv',
      max_episode_steps=320
  )
except:
    pass

这篇关于注册在jupyter笔记本电池内定义的健身房环境的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆