婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

熱門標簽:外呼系統(tǒng)前面有錄音播放嗎 千呼ai電話機器人免費 高德地圖標注字母 深圳網(wǎng)絡外呼系統(tǒng)代理商 騰訊地圖標注有什么版本 柳州正規(guī)電銷機器人收費 鎮(zhèn)江人工外呼系統(tǒng)供應商 申請辦個400電話號碼 400電話辦理費用收費

在使用交叉熵損失函數(shù)的時候,target的形狀應該是和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)絡輸出值,F(xiàn)loatTensor類型,第二個參數(shù)為目標值,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訓練過程中使用大量的CPU資源

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

本機window10

linux服務器開啟了多個進程

Linux服務器占用大量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服務器上還是有一些問題的,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版本與其他庫的版本不匹配。我當時裝的是1.0.0,降低版本到0.4.0后問題解決。

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

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

您可能感興趣的文章:
  • pytorch下的unsqueeze和squeeze的用法說明
  • anaconda安裝pytorch1.7.1和torchvision0.8.2的方法(親測可用)
  • Pytorch 圖像變換函數(shù)集合小結(jié)
  • 教你一分鐘在win10終端成功安裝Pytorch的方法步驟
  • 詳解win10下pytorch-gpu安裝以及CUDA詳細安裝過程
  • pytorch中index_select()的用法詳解

標簽:大慶 烏蘭察布 平頂山 合肥 哈爾濱 海南 郴州 烏蘭察布

巨人網(wǎng)絡通訊聲明:本文標題《解決pytorch下出現(xiàn)multi-target not supported at的一種可能原因》,本文關鍵詞  解決,pytorch,下,出現(xiàn),multi-target,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決pytorch下出現(xiàn)multi-target not supported at的一種可能原因》相關的同類信息!
  • 本頁收集關于解決pytorch下出現(xiàn)multi-target not supported at的一種可能原因的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 法库县| 万山特区| 曲阜市| 鸡西市| 灌阳县| 灯塔市| 明光市| 德惠市| 邢台县| 宜阳县| 广河县| 石泉县| 孙吴县| 平定县| 永登县| 襄樊市| 南江县| 金寨县| 行唐县| 广饶县| 洛阳市| 南城县| 西宁市| 青川县| 台南市| 涿州市| 建宁县| 霍城县| 青州市| 石林| 四会市| 夏邑县| 奎屯市| 九台市| 青神县| 桂东县| 阆中市| 普兰县| 武安市| 宜川县| 中宁县|