1. 程式人生 > >caffe訓練 Check failed: error == cudaSuccess錯誤彙總

caffe訓練 Check failed: error == cudaSuccess錯誤彙總

本文地址:

2 Check failed: error == cudaSuccess (2 vs. 0) out of memory


解決方案:這是由於模型比較複雜,導致視訊記憶體溢位導致的
1.減小mini_batch
2.減小圖片大小
3.升級GPU

8 Check failed: error == cudaSuccess (8 vs. 0) invalid device function


解決方案:invaild function應該是超出支援能力,設定的顯示卡的計算能力與顯示卡不匹配

10 Check failed: error == cudaSuccess (10 vs. 0) invalid device ordinal


解決方案:這是由於GPU數量不匹配造成的,如果訓練自己的資料,那麼我們只需要將solver.prototxt檔案中的device_id項改為自己的GPU塊數,一塊就是0,兩塊就是1,以此類推。


 I0814 23:00:22.604092  8312 blocking_queue.cpp:50] Data layer prefetch queue empty
問題描述:在執行訓練網路一段時間出現blocking_queue.cpp:50] Data layer prefetch queue empty
解決: 
可以使用prefetch引數: 
data_param { 
source: “./data/ilsvrc12/ilsvrc12_train_lmdb” 
batch_size: 32 
backend: LMDB 
prefetch: 20 

原因:CPU資料讀入慢於GPU計算,導致GPU處於空閒,使得計算速度下降,迭代時間間隔擴大。nvidia-smi顯示為:GPU功率不斷大幅度變化,GPU電壓不穩定。 
可能誘因:伺服器同時在進行其他工作,如大規模讀寫資料(頻繁使用IO),資料無法讀入;CPU同時進行其他工作,負載極重,無法正常讀取資料;CPU記憶體爆表,所有程式速度變慢。
https://blog.csdn.net/laoxuan2011/article/details/51548307

48 error = cudaSucess (48 vs. 0) no kernel image is available for execution on the device 

cuda 9.0以上不支援計算能為小於3的顯示卡,換cuda 8.0就可以了。