caffe使用中的问题记录
说明
本文用来记录使用caffe深度学习开源框架时遇到的问题及其解决方案。
问题1 caffe-parallel has a bug: Check failed: proto.SerializeToOstream(&output)
- 问题描述:在运行训练网络一段时间出现caffe-parallel has a bug: Check failed: proto.SerializeToOstream(&output)
- 解决:一般是没有相应的目录或者权限对这个目录进行写操作而引起的,我这里是在solver中设置错了snapshot directory ,改为正确的目录就好。
问题2 Caffe: 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内存爆表,所有程序速度变慢。