我的编程空间,编程开发者的网络收藏夹
学习永远不晚

baselines程序train_cartpole.py的ImportError怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

baselines程序train_cartpole.py的ImportError怎么用

这篇文章主要介绍“baselines程序train_cartpole.py的ImportError怎么用”,在日常操作中,相信很多人在baselines程序train_cartpole.py的ImportError怎么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”baselines程序train_cartpole.py的ImportError怎么用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

问题导出

为了更方便地实现自己的一些想法,我最终还是向OpenAI的baselines屈服了,因为自己的一些实现总是难与各大论文给出的结果进行对比。于是我今天安装了baselines,其中还是有一些坑的,这里主要介绍在安装完成之后,运行示例时cartpole.py所遇到的坑,它叫做ImportError。

ImportError

我们先cd到文件夹baselines/baselines/deepq/experiments下,然后运行下面语句:

$ python3 train_cartpole.py

然后就报错了……

baselines程序train_cartpole.py的ImportError怎么用

从图中我们可以看出,在文件train_cartpole.py中有如下语句:

from baselines import deepq

而在我们导入deepq的时候,将会执行deepq文件夹下的__init__.py文件,于是我们打开这一文件:

from baselines.deepq import models  # noqafrom baselines.deepq.build_graph import build_act, build_train  # noqafrom baselines.deepq.simple import learn, load  # noqafrom baselines.deepq.replay_buffer import ReplayBuffer, PrioritizedReplayBuffer  # noqadef wrap_atari_dqn(env):    from baselines.common.atari_wrappers import wrap_deepmind    return wrap_deepmind(env, fram_stack=True, scale=True)

在报错中,提到了上面的这一语句:

from baselines.deepq.simple import learn, load  # noqa

同时,报错中提到,在simple.py中有:

from baselines import deepq

问题渐渐明朗了,在我们import deepq的时候,将要执行__init__.py文件,这个文件将会从simple.py中把learn和load导入到deepq的命名空间下。而simple.py又想要import deepq,这也就构成了所谓的“Looping Import”。那我们应该如何解决呢?

我们先将simple.py中的下面这条语句注释掉:

from baselines import deepq

然后运行:

$ python3 train_cartpole.py

发现又出错了:

baselines程序train_cartpole.py的ImportError怎么用

不过这个错误是肯定会出的,我们无缘无故注释掉了人家写的一个import语句,能不错嘛。不过不要慌,我们继续分析,为什么这里要import deepq呢?就是为了执行下面的语句:

act = deepq.build_act(**act_params)...act, train, update_target, debug = deepq.build_train(...)

这里因为我们在__init__.py中将build_act和build_train方法导入到了deepq的命名空间下,所以这里可以直接在deepq的命名空间中去调用build_act和build_action。

如果我们要在simple.py文件中使用deepq.build_act的话,那么必然要在simple.py中导入deepq,而且也需要在__init__.py中导入simple,这么一来,就会出现“Looping Import”问题了。

解决方案

所以我们选择的解决方案是:

a) 将__init__.py中的下列语句注释掉:

from baselines.deepq.build_graph import build_act, build_train # noqa

b) 将simple.py中的下列语句换掉:

from baselines import deepq

换为:

from baselines.deepq.build_graph import build_act, build_train

c) 修改下列语句:

act = deepq.build_act(**act_params)...act, train, update_target, debug = deepq.build_train(...)

改为:

act = build_act(**act_params)...act, train, update_target, debug = build_train(...)

d) 运行:

$ python3 train_cartpole.py

OK,问题解决。

对了,在OpenAI Baselines里面,有一些代码用到了Python3.6的特性,比如直接(None, *tuple),这在Python3.4是不允许的,所以建议大家直接安装conda环境,并装好Python3.6。

到此,关于“baselines程序train_cartpole.py的ImportError怎么用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

baselines程序train_cartpole.py的ImportError怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

baselines程序train_cartpole.py的ImportError怎么用

这篇文章主要介绍“baselines程序train_cartpole.py的ImportError怎么用”,在日常操作中,相信很多人在baselines程序train_cartpole.py的ImportError怎么用问题上存在疑惑,小编
2023-06-30

ANSI.SYS程序怎么用

这篇文章将为大家详细讲解有关ANSI.SYS程序怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ANSI.SYS是MS-DOS中一个很有用的设备驱动程序,利用它,我们可以取得意想不到的显示效果。那么,
2023-06-09

怎么用opencl写程序

要使用OpenCL编写程序,您需要按照以下步骤进行操作:1. 安装OpenCL驱动程序:首先,您需要安装支持OpenCL的GPU或CPU的驱动程序。这些驱动程序通常由GPU或CPU供应商提供。2. 编写OpenCL内核函数:内核函数是在Op
2023-09-14

微信小程序的navigator怎么用

这篇文章主要介绍“微信小程序的navigator怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序的navigator怎么用”文章能帮助大家解决问题。navigator页面链接。属性名类
2023-06-26

微信小程序的map怎么用

今天小编给大家分享一下微信小程序的map怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。微信小程序map地图。属性名类型
2023-06-26

微信小程序的backgroundAudioManager怎么用

这篇文章主要介绍了微信小程序的backgroundAudioManager怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序的backgroundAudioManager怎么用文章都会有所收获,下面
2023-06-26

怎么用小程序模板生成美观的小程序

本篇内容介绍了“怎么用小程序模板生成美观的小程序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、头图打开小程序,首先看到的就是首页的头图,
2023-06-27

小程序开发的selectorQuery怎么用

今天小编给大家分享一下小程序开发的selectorQuery怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。select
2023-06-26

微信小程序的pages怎么用

本文小编为大家详细介绍“微信小程序的pages怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序的pages怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。  pages  接受一个数组,每一项
2023-06-26

怎么从java程序中调用其它程序

这篇文章主要介绍怎么从java程序中调用其它程序,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!RMI如何用于程序间通讯,另一个用于通讯的技术是Runtime.exec() 方法。你可以用这个方法从一个运行阿java程
2023-06-03

c语言主程序怎么调用子程序

在C语言中,主程序可以通过函数调用的方式来调用子程序。以下是一个简单的示例:```c#include // 声明子程序void subprogram();// 主程序int main() {printf("主程序\n");// 调用子程序s
2023-10-12

怎么用eclipse写java程序

1、首先打开eclipse,在Package Explorer栏上空白处点击右键,在出现的菜单里选择New-Java Project2、出现如图所示的界面上,命名project name,可以选择Working set或者不选择,点击Finish,此时demo
怎么用eclipse写java程序
2014-11-03

小程序中wx.choosevideo怎么用

本文将为大家详细介绍“小程序中wx.choosevideo怎么用”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“小程序中wx.choosevideo怎么用”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,
2023-06-26

小程序中wx.closeBLEConnection怎么用

这篇“小程序中wx.closeBLEConnection怎么用”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“小程序中wx.closeBLEConnection怎么用”,小编整理了以下知识点,请
2023-06-26

小程序中wx.opendocument怎么用

这篇“小程序中wx.opendocument怎么用”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“小程序中wx.opendocument怎么用”,小编整理了以下知识点,请大家跟着小编的步伐一步一
2023-06-26

小程序的Page构造器怎么用

这篇文章主要介绍“小程序的Page构造器怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序的Page构造器怎么用”文章能帮助大家解决问题。  程序与页面  你可以观察到 pages/logs
2023-06-26

小程序的地图组件怎么用

本篇内容主要讲解“小程序的地图组件怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序的地图组件怎么用”吧!1.准备工作微信小程序当然属于腾讯大佬的(给大佬递茶):微信小程序开发者工具下载
2023-06-26

VS2005程序工具怎么用

这篇文章主要为大家展示了“VS2005程序工具怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VS2005程序工具怎么用”这篇文章吧。VS 2005程序引入许多类关系图,类关系图由“类设计器
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录