昨天晚上跑起來(lái)一個(gè)classification實(shí)驗(yàn),今天發(fā)現(xiàn)訓(xùn)練loss在降,然而accuracy永遠(yuǎn)是0 。。。直覺(jué)告訴我evaluation有問(wèn)題
然后發(fā)現(xiàn)自己寫(xiě)了個(gè)很愚蠢的bug
accuracy對(duì)應(yīng)的tensor出來(lái)是int型的,我用到了一個(gè)除法取平均。而pytorch里無(wú)論用 / or // 結(jié)果都是取整,,accuracy一直就沒(méi)有。。
所以轉(zhuǎn)換成float就沒(méi)問(wèn)題了,,低級(jí)bug,下不為例
補(bǔ)充:pytorch tensor division/除法
除法的時(shí)候要注意數(shù)據(jù)類型的問(wèn)題
a = torch.div(torch.tensor([160, 110]), 0.137)
jupyter notebook就會(huì)奔潰, 因?yàn)閠orch.tensor([160, 110])是torch.int64數(shù)據(jù)類型, 而0.137(或者說(shuō)torch.tensor(0.137))是torch.float32類型.
如果改成下面這樣, 就會(huì)順利運(yùn)行
a = torch.div(torch.tensor([160, 110]).float(), 0.137)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Pytorch Tensor的索引與切片例子
- Pytorch之?dāng)U充tensor的操作
- pytorch 把圖片數(shù)據(jù)轉(zhuǎn)化成tensor的操作
- Pytorch 擴(kuò)展Tensor維度、壓縮Tensor維度的方法
- Pytorch生成隨機(jī)數(shù)Tensor的方法匯總
- PyTorch中Tensor的數(shù)據(jù)類型和運(yùn)算的使用
- Pytorch 使用tensor特定條件判斷索引