最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

baselines示例程序train_cartpole.py的ImportError

 更新時(shí)間:2022年05月20日 12:44:42   作者:微丶念(小礦工)  
這篇文章主要為大家介紹了baselines示例程序train_cartpole.py的ImportError引入錯(cuò)誤詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

問題導(dǎo)出

為了更方便地實(shí)現(xiàn)自己的一些想法,我最終還是向OpenAI的baselines屈服了,因?yàn)樽约旱囊恍?shí)現(xiàn)總是難與各大論文給出的結(jié)果進(jìn)行對(duì)比。于是我今天安裝了baselines,其中還是有一些坑的,這里主要介紹在安裝完成之后,運(yùn)行示例時(shí)cartpole.py所遇到的坑,它叫做ImportError。

ImportError

我們先cd到文件夾baselines/baselines/deepq/experiments下,然后運(yùn)行下面語句:

$ python3 train_cartpole.py

然后就報(bào)錯(cuò)了……

從圖中我們可以看出,在文件train_cartpole.py中有如下語句:

from baselines import deepq

而在我們導(dǎo)入deepq的時(shí)候,將會(huì)執(zhí)行deepq文件夾下的__init__.py文件,于是我們打開這一文件:

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

在報(bào)錯(cuò)中,提到了上面的這一語句:

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

同時(shí),報(bào)錯(cuò)中提到,在simple.py中有:

from baselines import deepq

問題漸漸明朗了,在我們import deepq的時(shí)候,將要執(zhí)行__init__.py文件,這個(gè)文件將會(huì)從simple.py中把learn和load導(dǎo)入到deepq的命名空間下。而simple.py又想要import deepq,這也就構(gòu)成了所謂的“Looping Import”。那我們應(yīng)該如何解決呢?

我們先將simple.py中的下面這條語句注釋掉:

from baselines import deepq

然后運(yùn)行:

$ python3 train_cartpole.py

發(fā)現(xiàn)又出錯(cuò)了:

不過這個(gè)錯(cuò)誤是肯定會(huì)出的,我們無緣無故注釋掉了人家寫的一個(gè)import語句,能不錯(cuò)嘛。不過不要慌,我們繼續(xù)分析,為什么這里要import deepq呢?就是為了執(zhí)行下面的語句:

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

這里因?yàn)槲覀冊(cè)赺_init__.py中將build_act和build_train方法導(dǎo)入到了deepq的命名空間下,所以這里可以直接在deepq的命名空間中去調(diào)用build_act和build_action。

如果我們要在simple.py文件中使用deepq.build_act的話,那么必然要在simple.py中導(dǎo)入deepq,而且也需要在__init__.py中導(dǎo)入simple,這么一來,就會(huì)出現(xiàn)“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) 運(yùn)行:

$ python3 train_cartpole.py

OK,問題解決。

對(duì)了,在OpenAI Baselines里面,有一些代碼用到了Python3.6的特性,比如直接(None, *tuple),這在Python3.4是不允許的,所以建議大家直接安裝conda環(huán)境,并裝好Python3.6。

以上就是baselines示例程序train_cartpole.py的ImportError的詳細(xì)內(nèi)容,更多關(guān)于train_cartpole.py的ImportError的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python一步步帶你操作Excel

    Python一步步帶你操作Excel

    這篇文章主要介紹了Python編寫命令行腳本操作excel的方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實(shí)例

    python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實(shí)例

    今天小編就為大家分享一篇python 文件轉(zhuǎn)成16進(jìn)制數(shù)組的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • OpenCV黑帽運(yùn)算(BLACKHAT)的使用

    OpenCV黑帽運(yùn)算(BLACKHAT)的使用

    本文主要介紹了OpenCV黑帽運(yùn)算(BLACKHAT)的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Python循環(huán)語句中else的用法總結(jié)

    Python循環(huán)語句中else的用法總結(jié)

    這篇文章給大家整理了關(guān)于Python中循環(huán)語句中else的用法,包括常規(guī)的 if else 用法、if else 快捷用法、與 for 關(guān)鍵字一起用、與 while 關(guān)鍵字一起用以及與 try except 一起用的用法總結(jié),有需要的朋友們可以參考借鑒。
    2016-09-09
  • 使用python?matplotlib?contour畫等高線圖的詳細(xì)過程講解

    使用python?matplotlib?contour畫等高線圖的詳細(xì)過程講解

    最近學(xué)習(xí)了matplotlib中的高線圖的繪制,所以下面這篇文章主要給大家介紹了關(guān)于使用python?matplotlib?contour畫等高線圖的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python pip 安裝與使用(安裝、更新、刪除)

    Python pip 安裝與使用(安裝、更新、刪除)

    pip 是 Python 包管理工具,該工具提供了對(duì)Python 包的查找、下載、安裝、卸載的功能,需要的朋友可以參考下
    2019-10-10
  • python怎么刪除緩存文件

    python怎么刪除緩存文件

    在本篇文章里小編給大家整理的是一篇關(guān)于python刪除緩存文件方法,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • python3自動(dòng)更新緩存類的具體使用

    python3自動(dòng)更新緩存類的具體使用

    本文介紹了使用一個(gè)自動(dòng)更新緩存的Python類AutoUpdatingCache,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Tensorflow分類器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn)

    Tensorflow分類器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn)

    這篇文章主要介紹了Tensorflow分類器項(xiàng)目自定義數(shù)據(jù)讀入的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • pygame實(shí)現(xiàn)彈力球及其變速效果

    pygame實(shí)現(xiàn)彈力球及其變速效果

    這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)彈力球及其變速效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07

最新評(píng)論

盐亭县| 阳新县| 赤壁市| 北流市| 宁武县| 航空| 罗山县| 衡山县| 丹阳市| 太谷县| 黄平县| 宝坻区| 龙口市| 保康县| 巴楚县| 嘉定区| 安岳县| 克东县| 濮阳县| 香河县| 疏附县| 巫溪县| 荣昌县| 南平市| 始兴县| 博罗县| 永兴县| 建湖县| 大安市| 珲春市| 绥滨县| 南投县| 若尔盖县| 镇沅| 广西| 大安市| 蕉岭县| 溧阳市| 辛集市| 临邑县| 白沙|