Pytorch中遇到的一些問題

2021-09-29 23:27:12 字數 1839 閱讀 1161

q: runtimeerror: invalid argument 2: size 『[-1 x 3 x 174]』 is invalid for input with 174 elements at /pytorch/torch/lib/th/thstorage.c:37

if self.reshape:

base_out = base_out.view((-

1, self.num_segments)

+ base_out.size()[

1:])

....

..x = torch.randn([1

,3,224

,224])

x = variable(x)

tsn.forward(

'test'

,x)

a: 造成這一問題的原因是用於view的tensor的shape是1x174的,而view後的尺寸是-1x3x174的,因此可以用來view的input的維度不夠reshape成-1x3x174,因此報錯。因為我主要是在tsn的models.py中測試網路結構,所以初始化的x的batch size設定為1了,因此input不夠reshape成-1x3x174的尺寸。

2. q: runtimeerror: matrices expected, got 3d, 3d tensors at /pytorch/torch/lib/th/generic/thtensormath.c:1429

a:出現這一錯誤的原因是利用mm將兩個高維矩陣相乘了,對於高維矩陣的乘積,應當將其改為用matmul相乘。

3. q: typeerror: argument 0 is not a variable

a: 造成這一問題的原因在於我使用的pytorch版本是0.3.1,在將input資料送入module中前應將tensor包裝為variable型別,否則就會報錯,但是之後的版本合併了tensor和variable,所以解決這一問題的方法有兩種:公升級版本,或將tensor包裝成variable。參考鏈結

4. q: runtimeerror: invalid argument 1: input is not contiguous at /pytorch/torch/lib/th/generic/thtensor.c:231

a: 遇到這個問題一般是使用了view或者index_select函式,

解決方法:

data = data.view(bsz, -1).t().contiguous()#只要在view函式後面再加個contiguous()就ok

5. missing key(s) in state_dict、unexpected key(s) in state_dict解決

解決辦法:

參考:

6. runtimeerror: 「binary_cross_entropy」 not implemented for 『long』

解釋:換成其他的損失函式都是這個錯誤,所以排除了是由於最後一層的輸入導致的問題,報錯的解釋是沒有該損失函式不能用於long型別,所以逐一排查了output和target的型別,但是利用type()函式顯示二者的型別都顯示為torch.tensor

解決辦法:目前暫未發現更好的辦法,測試時發現當輸入為單獨的乙個整數時,torch.floattensor()函式的輸出為空,並且始終報錯資訊提示傳入的資料型別為long,所以在將output和label送入loss函式之前,人為進行了資料型別的轉換,先將tensor型別轉換為numpy型別,再轉換成list型別,最後再利用torch.floattensor()函式轉換即可。

未完待續。。。

appfuse中遇到的一些問題

2.在model層的實體類中,所有的id都沒有 column,沒有對映到對應表中的字段,所以我們需要對 if property.equals clazz.identifierproperty rt lt documentid 在原檔案上述字段後面新增 rt 就能夠完美解決 3.我們知道發生beanc...

學習中遇到的一些問題

1.c語言 函式前加 加 是返回指標,例如 int add add 函式返回的是乙個int型別的值 int add add 函式返回的是乙個int型別的指標 1 include 2 char repnum char str 310 main 11 2.輸出形如下面的圖形 3.switch 表示式 c...

遇到的一些問題心得

一.專案的版本管理。1 gnu 風格的版本號命名格式 主版本號 子版本號 修正版本號 編譯版本號 major version number.minor version number revision number build number 示例 1.2.1,2.0,5.0.0 build 13124...