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

pytorch多進(jìn)程加速及代碼優(yōu)化方法

 更新時(shí)間:2019年08月19日 18:35:54   作者:兢兢業(yè)業(yè)小碼農(nóng)  
今天小編就為大家分享一篇pytorch多進(jìn)程加速及代碼優(yōu)化方法。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

目標(biāo):優(yōu)化代碼,利用多進(jìn)程,進(jìn)行近實(shí)時(shí)預(yù)處理、網(wǎng)絡(luò)預(yù)測(cè)及后處理:

本人嘗試了pytorch的multiprocessing,進(jìn)行多進(jìn)程同步處理以上任務(wù)。

from torch.multiprocessing import Pool,Manager

為了進(jìn)行各進(jìn)程間的通信,使用Queue,作為數(shù)據(jù)傳輸載體。

  manager = Manager()
  input_queue = manager.Queue()
  output_queue = manager.Queue()

  show_queue = manager.Queue()

即將預(yù)處理進(jìn)程處理后的圖像放進(jìn) input_queue,而網(wǎng)絡(luò)預(yù)測(cè)進(jìn)程實(shí)時(shí)獲取 input_queue隊(duì)列中的數(shù)據(jù),一旦放入,就從中取出,輸入網(wǎng)絡(luò):

while 1:

  input = input_queue.get()

同理,將網(wǎng)絡(luò)輸出放入output_queue,再由后處理進(jìn)程實(shí)時(shí)獲取并進(jìn)行后處理,處理后,放入show_queue

從而實(shí)現(xiàn)了多進(jìn)程同步進(jìn)行預(yù)處理、網(wǎng)絡(luò)預(yù)測(cè)及后處理,加速了網(wǎng)絡(luò)實(shí)時(shí)預(yù)測(cè)的表現(xiàn)。

問(wèn)題及解決方案:

1. pytorch cuda報(bào)錯(cuò),re-initialization報(bào)錯(cuò)問(wèn)題:

習(xí)慣了在一開始將模型先加載進(jìn)來(lái)放入gpu中,所以模型在主線程就完成了初始化,但是調(diào)用網(wǎng)絡(luò)是在網(wǎng)絡(luò)預(yù)測(cè)子進(jìn)程進(jìn)行的,就會(huì)導(dǎo)致跨進(jìn)程重復(fù)初始化失敗。

解決方案:

直接在子進(jìn)程開始時(shí)初始化,其他進(jìn)程可以設(shè)置個(gè)延時(shí),等網(wǎng)絡(luò)初始化好后再開始運(yùn)行。

同理,數(shù)據(jù)輸入網(wǎng)絡(luò)也是同樣的在子進(jìn)程進(jìn)行。

2. python3多進(jìn)程編程,子進(jìn)程不報(bào)錯(cuò)問(wèn)題:

一開始總是代碼運(yùn)行起來(lái)什么都不出現(xiàn),就開始各種debug,但因?yàn)閜ython3中子進(jìn)程不報(bào)錯(cuò),出錯(cuò)了就卡在那里,就每次自己找bug很麻煩,所以就急需子進(jìn)程的報(bào)錯(cuò)信息。

解決方案:

用try except組合,來(lái)打印子進(jìn)程中某段程序錯(cuò)誤,如下:

      try:
        out = forward(input_img,model,1)
      except Exception as error:
        print(error)

3.進(jìn)程完全不運(yùn)行時(shí),考慮是否是輸入設(shè)置的問(wèn)題,即當(dāng)單變量輸入時(shí),后面要加都好,如:

pool.apply_async(load_frame,args=(input_queue,))

如果是pool.apply_async(load_frame,args=(input_queue))則該進(jìn)程不會(huì)啟動(dòng)運(yùn)行。

4. 一開始想優(yōu)化cv2.resize,想用gpu下的tensor的resize_代替,但發(fā)現(xiàn)這種方式和numpy.resize一脈相承啊,根本不是我們想要的resize,如果是變大的話,這種resize會(huì)直接按順序填,然后剩下的就填0,實(shí)在是太草率了。。。

解決方案:還沒有很好的替代方案,只找了一下,cuda::resize,但是好像貌似沒有python接口,要是混合編程好像有點(diǎn)小題大做,得不償失了。如果各位有較好的方案,歡迎指點(diǎn)迷津。

以上這篇pytorch多進(jìn)程加速及代碼優(yōu)化方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 不要用強(qiáng)制方法殺掉python線程

    不要用強(qiáng)制方法殺掉python線程

    本文給大家分享的是走著的一些強(qiáng)制殺掉python線程經(jīng)驗(yàn)教訓(xùn),如果你使用強(qiáng)制手段干掉線程,那么很大幾率出現(xiàn)意想不到的bug。 請(qǐng)記住一點(diǎn),鎖資源不會(huì)因?yàn)榫€程退出而釋放鎖資源 !
    2017-02-02
  • PyCharm使用最多也最常用默認(rèn)快捷鍵分享

    PyCharm使用最多也最常用默認(rèn)快捷鍵分享

    這篇文章主要介紹了PyCharm使用最多也最常用默認(rèn)快捷鍵,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Jupyter notebook快速入門教程(推薦)

    Jupyter notebook快速入門教程(推薦)

    這篇文章主要介紹了Jupyter notebook快速入門教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實(shí)例代碼

    Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實(shí)例代碼

    這篇文章主要介紹了Python 等分切分?jǐn)?shù)據(jù)及規(guī)則命名的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Django中的CBV和FBV示例介紹

    Django中的CBV和FBV示例介紹

    這篇文章主要給大家介紹了關(guān)于Django中CBV和FBV的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 利用Python中?Rembg庫(kù)實(shí)現(xiàn)去除圖片背景

    利用Python中?Rembg庫(kù)實(shí)現(xiàn)去除圖片背景

    這篇文章主要介紹了利用Python中?Rembg庫(kù)實(shí)現(xiàn)去除圖片背景,文章基于?Rembg庫(kù)得運(yùn)用展開詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Python?groupby函數(shù)圖文詳解

    Python?groupby函數(shù)圖文詳解

    pandas中DataFrame提供了一個(gè)靈活高效的groupby功能,它使你能以一種自然的方式對(duì)數(shù)據(jù)集進(jìn)行切片、切塊、摘要等操作,下面這篇文章主要給大家介紹了關(guān)于Python?groupby函數(shù)詳解的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • 一文讓你秒懂精通pip并快速體驗(yàn)深度學(xué)習(xí)應(yīng)用【建議收藏】

    一文讓你秒懂精通pip并快速體驗(yàn)深度學(xué)習(xí)應(yīng)用【建議收藏】

    在使用python的時(shí)候,經(jīng)常使用到pip這個(gè)工具,可以很方便的線上安裝依賴庫(kù),當(dāng)然pip還有很多參數(shù)都可以幫我們?nèi)ゲ樵円恍?kù)信息,這篇文章主要給大家介紹了如何通過(guò)一篇文章讓你秒懂精通pip并快速體驗(yàn)深度學(xué)習(xí)應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • python讀取和保存視頻文件

    python讀取和保存視頻文件

    這篇文章主要為大家詳細(xì)介紹了python讀取顯示和保存視頻文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Python變量和字符串詳解

    Python變量和字符串詳解

    本篇文章主要介紹了Python變量和字符串的相關(guān)資料。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-04-04

最新評(píng)論

宁国市| 杭锦后旗| 威海市| 开封县| 乐陵市| 东辽县| 和静县| 茂名市| 临武县| 宁强县| 福贡县| 汉中市| 南安市| 扎囊县| 来安县| 万载县| 绵阳市| 安宁市| 嘉义县| SHOW| 龙江县| 福清市| 宁晋县| 肇源县| 遂川县| 金沙县| 松原市| 石阡县| 邯郸县| 鸡东县| 绵竹市| 阿拉善左旗| 阳东县| 紫阳县| 三明市| 巴青县| 和田县| 天等县| 怀化市| 基隆市| 丰都县|