過去的事情先不說了,就說今天的
氣的我想罵人,TMD
f之前有個bug,就是沒跑3個epoch,就直接dataloader killed,我查了好久,對比代碼什麽的,懷疑是因為我自己寫的loss,莫名其妙有些bug(在我實驗室跑起來,可半點bug沒有),反正就是涉及數據保存的事情,然後現在我重新用torch自帶的loss,什麽都沒保存,講道理這樣應該可以了,結果現在跑了18個小時,卻一個epoch都沒跑完,我現在又懷疑是不是數據沒讀取進去?但是這不可能啊,我又沒改數據讀取的事情。TNND,我現在只能print一下訓練過程,估計是print不出來的,所以等於我還是沒找出bug在哪。
————————————————————————————————
重新看了一下,發現其實是跑起來了的,但是跑的速度大概只有原來的1/6?明明我已經用了多線程讀取數據了!我增加了線程數量,不知道現在會怎麽樣,好煩,又要等。
—————————————————————————————————
現在發現似乎平台分配的GPU id是不穩定的,所以如果我指定的不太對,就會有問題?
—————————————————————————————————
發現GPU id是沒影響的,是他們平台的文件系統不穩定!!!真是CTM了,這速度慢了10倍,我根本沒辦法調代碼了。
——————————————————————————————————
t之前有個bug,就是平台上使用多卡在loss裡面return東西的時候,是多張卡return的疊加,這本來不是bug,但是如果你返回的東西並不需要多卡計算,那麽問題就出來了,他會被疊加N次,bug就出現了。然後我取消了這個return,改為自己直接從對象中取出來,然後跑了2天,現在又發現,它不學了!loss一直非常小,也非常小。我TMD怎麽就這麽難呢?