caffe训练 Check failed: error == cudaSuccess错误汇总

版权声明:本文为博主原创文章,欢迎转载,转载请注明出处。 https://blog.csdn.net/shanglianlm/article/details/81939179

本文地址:

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就可以了。

猜你喜欢

转载自blog.csdn.net/shanglianlm/article/details/81939179