本人深度学习小白,这两天被安排任务做目标检测,初次探究YoLOV3,仅在此记下学习经验,防止以后少入坑。
本人首先是跟着官网走一遍的:YOLO: Real-Time Object Detection
首先,新建一个文件夹,存放:mkdir yolov3
cd yolov3
执行:
git clone https://github.com/pjreddie/darknet
cd darknet
make
下载预训练权值
wget https://pjreddie.com/media/files/yolov3.weights
最后
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
当训练跑起来的时候,发现一个问题,就是官网上的时间只有0.029329 seconds。而本人的时间却用了0.029329 seconds!!!!
原因:没开GPU,CUDNN。打开darknet文件夹下的Makefile文件夹,修改里面的参数设置。本人刚开始只将GPU=1
后,重新make:
make clean
make
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
此时出现了一问题,训练出错了!!如下提示:
./darknet: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory
貌似是cuda8.0链接的问题,找到了解决方案:
sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig
sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig
参考自:http://blog.csdn.net/kaka20080622/article/details/40706813
最后再重新make后训练所用的时间为0.037161 seconds,与官网差不多。