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

解決ToPILImage時(shí)出現(xiàn)維度報(bào)錯(cuò)問(wèn)題pic should be 2/3 dimensional. Got 4 dimensions.

 更新時(shí)間:2024年02月27日 15:43:16   作者:brabradon  
這篇文章主要介紹了解決ToPILImage時(shí)出現(xiàn)維度報(bào)錯(cuò)問(wèn)題pic should be 2/3 dimensional. Got 4 dimensions.具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

ToPILImage時(shí)出現(xiàn)維度報(bào)錯(cuò)pic should be 2/3 dimensional. Got 4 dimensions.

主要原因是在數(shù)據(jù)集加載過(guò)程中加入了batch_size,將tensor變?yōu)榱怂木S。

print(img.shape)
img1 = img[0]
print(img1.shape)

直接將其轉(zhuǎn)為三維即可

PyTorch中常見(jiàn)報(bào)錯(cuò)

本部分介紹一些PyTorch中常見(jiàn)的報(bào)錯(cuò)信息及其解決方法

報(bào)錯(cuò)1:

ValueError: num_samples should be a positive integer value, but got num_samples=0

可能的原因:傳入的Dataset中的len(self.data_info)==0,即傳入該dataloader的dataset里沒(méi)有數(shù)據(jù)

解決方法:

  • 檢查dataset中的路徑,路徑不對(duì),讀取不到數(shù)據(jù)。
  • 檢查Dataset的__len__()函數(shù)為何輸出為零

報(bào)錯(cuò)2:

TypeError: pic should be PIL Image or ndarray. Got <class 'torch.Tensor'>

可能的原因:當(dāng)前操作需要PIL Image或ndarray數(shù)據(jù)類型,但傳入了Tensor

解決

  • 檢查transform中是否存在兩次ToTensor()方法
  • 檢查transform中每一個(gè)操作的數(shù)據(jù)類型變化

報(bào)錯(cuò)3:

RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 93 and 89 in dimension 1 at /Users/soumith/code/builder/wheel/pytorch-src/aten/src/TH/generic/THTensorMath.cpp:3616

可能的原因:dataloader的__getitem__函數(shù)中,返回的圖片形狀不一致,導(dǎo)致無(wú)法stack

解決方法:檢查_(kāi)_getitem__函數(shù)中的操作

報(bào)錯(cuò)4:

# 通道數(shù)不匹配
conv:  RuntimeError: Given groups=1, weight of size 6 1 5 5, expected input[16, 3, 32, 32] to have 1 channels, but got 3 channels instead

# 維度不匹配
linear: RuntimeError: size mismatch, m1: [16 x 576], m2: [400 x 120] at ../aten/src/TH/generic/THTensorMath.cpp:752

可能的原因:網(wǎng)絡(luò)層輸入數(shù)據(jù)與網(wǎng)絡(luò)的參數(shù)不匹配

解決方法:

  • 檢查對(duì)應(yīng)網(wǎng)絡(luò)層前后定義是否有誤
  • 檢查輸入數(shù)據(jù)shape

報(bào)錯(cuò)5:

AttributeError: 'DataParallel' object has no attribute 'linear'

可能的原因:并行運(yùn)算時(shí),模型被dataparallel包裝,所有module都增加一個(gè)屬性 module. 因此需要通過(guò) net.module.linear調(diào)用
解決方法:

網(wǎng)絡(luò)層前加入module.

報(bào)錯(cuò)6:

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

可能的原因:gpu訓(xùn)練的模型保存后,在無(wú)gpu設(shè)備上無(wú)法直接加載

解決方法:

需要設(shè)置map_location=“cpu”

報(bào)錯(cuò)7:

AttributeError: Can't get attribute 'FooNet2' on <module '__main__' from '

可能的原因:保存的網(wǎng)絡(luò)模型在當(dāng)前python腳本中沒(méi)有定義

解決方法:

提前定義該類

報(bào)錯(cuò)8:

這個(gè)錯(cuò)誤經(jīng)常在交叉熵?fù)p失函數(shù)中碰到

RuntimeError: Assertion `cur_target >= 0 && cur_target < n_classes' failed.  at ../aten/src/THNN/generic/ClassNLLCriterion.c:94

可能的原因:

標(biāo)簽數(shù)大于等于類別數(shù)量,即不滿足 cur_target < n_classes,通常是因?yàn)闃?biāo)簽從1開(kāi)始而不是從0開(kāi)始

解決方法:

修改label,從0開(kāi)始,例如:10分類的標(biāo)簽取值應(yīng)該是0-9

報(bào)錯(cuò)9:

RuntimeError: expected device cuda:0 and dtype Long but got device cpu and dtype Long

可能的原因:需計(jì)算的兩個(gè)數(shù)據(jù)不在同一個(gè)設(shè)備上

解決方法:

采用to函數(shù)將數(shù)據(jù)遷移到同一個(gè)設(shè)備上

報(bào)錯(cuò)10:

Expected object of backend CPU but got backend CUDA for argument #2 'weight' 

可能的原因:張量的to函數(shù)非原地操作,轉(zhuǎn)換數(shù)據(jù)設(shè)備未賦值,即inputs.to("CUDA"),此時(shí),數(shù)據(jù)仍然在CPU上,未轉(zhuǎn)換成功

解決辦法:

inputs = inputs.to(device)

報(bào)錯(cuò)11:

RuntimeError: DataLoader worker (pid 27) is killed by signal: Killed. Details are lost 
due to multiprocessing. Rerunning with num_workers=0 may give better error trace.

可能原因:內(nèi)存不夠(不是gpu顯存,是內(nèi)存)

解決方法:申請(qǐng)更大內(nèi)存

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python如何使用pathlib模塊處理文件路徑

    Python如何使用pathlib模塊處理文件路徑

    這篇文章主要介紹了Python如何使用pathlib模塊處理文件路徑,我們將從創(chuàng)建 Path 對(duì)象、絕對(duì)路徑與相對(duì)路徑、訪問(wèn)文件路徑分量,以及檢查文件路徑是否存在等幾個(gè)方面進(jìn)行講解,需要的朋友可以參考下
    2024-10-10
  • python的id()函數(shù)介紹

    python的id()函數(shù)介紹

    本文為大家介紹python中的id()函數(shù),有需要的朋友不妨參考下
    2013-02-02
  • 淺談Python中的全局鎖(GIL)問(wèn)題

    淺談Python中的全局鎖(GIL)問(wèn)題

    今天小編就為大家分享一篇淺談Python中的全局鎖(GIL)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python&Matlab實(shí)現(xiàn)櫻花的繪制

    Python&Matlab實(shí)現(xiàn)櫻花的繪制

    正值櫻花飄落的季節(jié),本文將利用Python和Matlab分別繪制一顆櫻花樹(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起動(dòng)手嘗試一下
    2022-04-04
  • Python實(shí)現(xiàn)簡(jiǎn)易端口掃描器代碼實(shí)例

    Python實(shí)現(xiàn)簡(jiǎn)易端口掃描器代碼實(shí)例

    本篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)易端口掃描器的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Flask框架運(yùn)用Ajax實(shí)現(xiàn)輪詢動(dòng)態(tài)繪圖

    Flask框架運(yùn)用Ajax實(shí)現(xiàn)輪詢動(dòng)態(tài)繪圖

    Ajax是異步JavaScript和XML可用于前后端交互,本文將通過(guò)Ajax輪詢獲取后端的數(shù)據(jù),前臺(tái)使用echart繪圖庫(kù)進(jìn)行圖形的生成與展示,最后實(shí)現(xiàn)動(dòng)態(tài)監(jiān)控內(nèi)存利用率的這個(gè)功能,需要的可以參考一下
    2022-11-11
  • python pycurl驗(yàn)證basic和digest認(rèn)證的方法

    python pycurl驗(yàn)證basic和digest認(rèn)證的方法

    這篇文章主要介紹了python pycurl驗(yàn)證basic和digest認(rèn)證的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • numpy庫(kù)ndarray多維數(shù)組的維度變換方法(reshape、resize、swapaxes、flatten)

    numpy庫(kù)ndarray多維數(shù)組的維度變換方法(reshape、resize、swapaxes、flatten)

    這篇文章主要介紹了numpy庫(kù)ndarray多維數(shù)組的維度變換方法(reshape、resize、swapaxes、flatten),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Yolov5(v5.0)+pyqt5界面設(shè)計(jì)圖文教程

    Yolov5(v5.0)+pyqt5界面設(shè)計(jì)圖文教程

    眾所周知界面設(shè)計(jì)一般指UI設(shè)計(jì),下面這篇文章主要給大家介紹了關(guān)于Yolov5(v5.0)+pyqt5界面設(shè)計(jì)的相關(guān)資料,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Python confluent kafka客戶端配置kerberos認(rèn)證流程詳解

    Python confluent kafka客戶端配置kerberos認(rèn)證流程詳解

    這篇文章主要介紹了Python confluent kafka客戶端配置kerberos認(rèn)證流程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論