微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

注册在 jupyter notebook 单元中定义的健身房环境

如何解决注册在 jupyter notebook 单元中定义的健身房环境

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

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

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

ModuleNotFoundError: No module named 'base'

try 块是因为一个 evnrinoment id 不能被注册两次。我可能会再次运行所有笔记本单元。

解决方法

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

可以使用

检索底层模块名称
import sys
sys.modules[__name__]

因此入口点的模块名称是“ma​​in”。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?