第十八节,linux环境下配置yolo网络

ubuntu18.04+CUDA8.0+GTX1080Ti+yolov3+Opencv3.1.0详细配置

系统配置:

内存:16GiB

处理器:Intel Core i7-9700K CPU 3.60GHz*8

图形:GeForce GTX1080 Ti/PCle/SSE2

GNOME:3.28.2

操作系统:64

磁盘:500GB

  1. 查看gpu驱动版本:

    sudo nvidia-smi  

    Driver Version390.116

  2. 安装CUDA

    我这里选择cuda-9.0进行下载。这个是下载cuda的链接地址:https://developer.nvidia.com/cuda-90-download-archive

  3. 安装CUDNN7.5版本:网上都有教程。

  4. 安装anaconda3

    https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

  5. 安装OpenCV3.4.1版本

    https://opencv.org/releases/page/2/

    配置时容易出现问题。 安装了好多次总是出错误。各种各样奇葩的错误。安装过程异常漫长。

    https://www.cnblogs.com/aacirq/p/9694951.html按照这个教程试一下,一次不成功多尝试几次。

  6. 查看显卡信息时突然显示NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

    借鉴https://blog.csdn.net/sinat_23619409/article/details/85220561

  7. 平台linux+官网教程https://pjreddie.com/darknet/yolo  按照官网教程。

    环境:ubuntu18.04

    显卡:GTX1080Ti

  8. 1) Region 82 Avg IOU: 0.874546, Class: 0.983519, Obj: 0.984566, No Obj: 0.008776, .5R: 1.000000, .75R: 0.750000,  count: 4

    Region 94 Avg IOU: 0.686372, Class: 0.878314, Obj: 0.475262, No Obj: 0.000712, .5R: 1.000000, .75R: 0.200000,  count: 5

    Region 106 Avg IOU: 0.893751, Class: 0.762553, Obj: 0.388385, No Obj: 0.000089, .5R: 1.000000, .75R: 1.000000,  count: 1

    三个尺度上预测不同大小的框,82卷积层为最大预测尺度,使用较大的mask,可以预测出较小的物体,94卷积层 为中间预测尺度,使用中等的mask, 106卷积层为最小预测尺度,使用较小的mask,可以预测出较大的物体。

    详解:

    Region Avg IOU: 表示在当前subdivision内的图片的平均IOU,代表预测的矩形框和真实目标的交集与并集之比。

    Class: 标注物体分类的正确率,期望该值趋近于1。

    Obj: 越接近1越好。

    No Obj: 期望该值越来越小,但不为零。

    count: count后的值是所有的当前subdivision图片中包含正样本的图片的数量。

    1: 806.396851, 806.396851 avg, 0.000000 rate, 1.457291 seconds, 64 images

    1: 指示当前训练的迭代次数

    806.396851:是总体的Loss(损失)

    806.396851 avg:是平均Loss,这个数值应该越低越好,一般到0.几的时候就可直接退出训练。

    0.000000 rate:代表当前的学习率,是在.cfg文件中定义的。

    1.843955 seconds:表示当前批次训练花费的总时间。

    64 images:这一行最后的这个数值是1*64的大小,表示到目前为止,参与训练的图片的总量。

  9. 安装darknet

git clone https://github.com/pjreddie/darknet.git
cd darknet
make

 

 

nvidia-smi指令    watch -n 10 nvidia-smi:每个10s刷新显卡占用情况
指令中间连着的不加空格。

 

第一栏的Fan:风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速不是实际转速。有的设备不会返回转速,因为它不依赖风扇冷却。

 

第二栏的Temp:是温度。
第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
第五栏的Bus-Id是涉及GPU总线的东西,domain:bus:device.function
第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。
第五第六栏下方的Memory Usage是显存使用率。
第七栏是浮动的GPU利用率。
第八栏上方是关于ECC的东西。
第八栏下方Compute M是计算模式。

下载权重:

wget https://pjreddie.com/media/files/yolov3.weight

测试程序:

./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
或者
./darknet detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   416 x 416 x   3   ->   416 x 416 x  32  0.299 BFLOPs
    1 conv     64  3 x 3 / 2   416 x 416 x  32   ->   208 x 208 x  64  1.595 BFLOPs
    .......
  105 conv    255  1 x 1 / 1    52 x  52 x 256   ->    52 x  52 x 255  0.353 BFLOPs
  106 detection
truth_thresh: Using default '1.000000'
Loading weights from yolov3.weights...Done!
data/dog.jpg: Predicted in 0.029329 seconds.
dog: 99%
truck: 93%
bicycle: 99%

  

 

posted @ 2019-05-19 22:08  hengxin  阅读(1195)  评论(0编辑  收藏  举报