欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決pytorch下出現(xiàn)multi-target not supported at的一種可能原因

 更新時間:2021年02月06日 09:50:36   作者:York1996  
這篇文章主要介紹了解決pytorch下出現(xiàn)multi-target not supported at的一種可能原因,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在使用交叉熵損失函數(shù)的時候,target的形狀應(yīng)該是和label的形狀一致或者是只有batchsize這一個維度的。

如果target是這樣的【batchszie,1】就會出現(xiàn)上述的錯誤。

改一下試試,用squeeze()函數(shù)降低緯度,

如果不知道squeeze怎么用的,

可以參考這篇文章。pytorch下的unsqueeze和squeeze用法

這只是一種可能的原因。

補充:pytorch使用中遇到的問題

1. load模型參數(shù)文件時,提示torch.cuda.is_available() is False。

按照pytorch官方網(wǎng)頁又安裝了一次pytorch,而不是直接使用清華源,執(zhí)行pip install torch,暫時不知道為什么。

2. 使用CrossEntropyLoss時,要求第一個參數(shù)為網(wǎng)絡(luò)輸出值,F(xiàn)loatTensor類型,第二個參數(shù)為目標(biāo)值,LongTensor類型。否則

需要在數(shù)據(jù)讀取的迭代其中把target的類型轉(zhuǎn)換為int64位的:target = target.astype(np.int64),這樣,輸出的target類型為torch.cuda.LongTensor。(或者在使用前使用Tensor.type(torch.LongTensor)進行轉(zhuǎn)換)。

3.

RuntimeError: multi-target not supported at /pytorch/torch/lib/THCUNN/generic/ClassNLLCriterion.cu
loss += F.cross_entropy( scores, captions )

出錯原因:

scores, captions的維度與F.cross_entropy()函數(shù)要求的維度不匹配,

例如出錯的維度為scores=[batch, vocab_size], captions=[batch, 1]

解決:

loss += F.cross_entropy( scores, captions.squeeze() )

注,這個scores必須是N*C維,C指類別數(shù)。

4. pytorch訓(xùn)練過程中使用大量的CPU資源

當(dāng)我使用pycharm運行 (https://github.com/Joyce94/cnn-text-classification-pytorch ) pytorch程序的時候,在Linux服務(wù)器上會開啟多個進程,占用服務(wù)器的大量的CPU,在windows10上運行此程序的時候,本機的CPU和內(nèi)存會被吃光,是因為在train.py中有大量的數(shù)據(jù)訓(xùn)練處理,會開啟多個進程,占用大量的CPU和進程。

本機window10

linux服務(wù)器開啟了多個進程

Linux服務(wù)器占用大量CPU

在pytorch中提供了(http://pytorch.org/docs/master/multiprocessing.html)muliprocessing多進程管理,其中有Pool進程池、Process()等對進程進行管理,可能是我使用的方式不對,反正是沒有什么效果。

然而最簡單的也是最好的解決辦法 :

torch.set_num_threads(int thread) ,可以很好的解決windows問題,參考(http://pytorch.org/docs/master/torch.html#parallelism) 然而,在linux服務(wù)器上還是有一些問題的,export OMP_NUM_THREADS = 1 可以解決Linux問題。

經(jīng)驗證:export OMP_NUM_THREADS=1確實在pycaffe/pytorch中可以有效降低CPU使用率且提高程序運行速度,考慮可能是程序并不需要這么大的計算量,但是開了很多線程并行進行相同的計算,最后還需要同步結(jié)果,浪費了大量的計算量。

5. 在pytorch框架下編譯模塊的時候遇到 in <module>

raise ImportError("torch.utils.ffi is deprecated. Please use cpp extensions instead.")
ImportError: torch.utils.ffi is deprecated. Please use cpp extensions instead.

解決:pytorch版本與其他庫的版本不匹配。我當(dāng)時裝的是1.0.0,降低版本到0.4.0后問題解決。

6.pytorch設(shè)置GPU,os.environ['CUDA_VISIBLE_DEVICES']='X'要放在主程序的最前端,否則設(shè)置GPU可能無效。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Python-OpenCV教程之圖像的位運算詳解

    Python-OpenCV教程之圖像的位運算詳解

    圖像的位運算是指對圖像的數(shù)值按照二進制值逐位進行取反、與、或、異或操作,本文就帶大家了解相關(guān)知識,需要的朋友可以參考下
    2021-06-06
  • Python獲取百度翻譯的兩種方法示例詳解

    Python獲取百度翻譯的兩種方法示例詳解

    本文介紹了使用Python通過requests和urllib兩種方式獲取百度翻譯的方法,requests方法通過發(fā)送post請求并解析json數(shù)據(jù),而urllib方法通過請求和讀取url來獲取翻譯,兩種方法各有優(yōu)劣,用戶可根據(jù)需求選擇
    2024-09-09
  • Python基于execjs運行js過程解析

    Python基于execjs運行js過程解析

    這篇文章主要介紹了Python基于execjs運行js過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • TensorFlow2.X使用圖片制作簡單的數(shù)據(jù)集訓(xùn)練模型

    TensorFlow2.X使用圖片制作簡單的數(shù)據(jù)集訓(xùn)練模型

    這篇文章主要介紹了TensorFlow2.X使用圖片制作簡單的數(shù)據(jù)集訓(xùn)練模型,本文通過截圖實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python繪制驚艷的?;鶊D的示例詳解

    Python繪制驚艷的?;鶊D的示例詳解

    很多時候,我們需要一種必須可視化數(shù)據(jù)如何在實體之間流動的情況。這個時候就需要?;鶊D,它通常描繪 從一個實體(或節(jié)點)到另一個實體(或節(jié)點)的數(shù)據(jù)流。本文將利用Python繪制驚艷的?;鶊D,需要的可以參考一下
    2022-02-02
  • Python matplotlib繪制餅狀圖功能示例

    Python matplotlib繪制餅狀圖功能示例

    這篇文章主要介紹了Python matplotlib繪制餅狀圖功能,結(jié)合實例形式分析了Python使用matplotlib模塊進行數(shù)值運算與餅狀圖繪制相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • 詳解Python 中的容器 collections

    詳解Python 中的容器 collections

    這篇文章主要介紹了Python 中的容器 collections的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • Django框架ORM操作數(shù)據(jù)庫不生效問題示例解決方法

    Django框架ORM操作數(shù)據(jù)庫不生效問題示例解決方法

    本文詳細描述使用Django 的ORM框架操作PostgreSQL數(shù)據(jù)庫刪除不生效問題的定位過程及解決方案,并總結(jié)使用ORM框架操作數(shù)據(jù)庫不生效的問題的通用定位方法,感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Python實現(xiàn)快速生成SQL語句的示例詳解

    Python實現(xiàn)快速生成SQL語句的示例詳解

    這篇文章主要介紹了如何使用Python中的字符串操作和數(shù)據(jù)結(jié)構(gòu),以及一些庫來自動生成SQL語句的技巧,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • python vertibi算法實現(xiàn)原理解析

    python vertibi算法實現(xiàn)原理解析

    這篇文章主要為大家介紹了python vertibi算法實現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07

最新評論