原本 Ubuntu16.04 rtx2080 i7-8700K cuda 9.0 cudnn 7.5.0
后改为 Ubuntu16.04 rtx2080 i7-8700K cuda 10.0 cudnn 7.6.4
又把cudnn改为 7.6.5
改了似乎也没什么卵用???
最后又改为cuda 9.0 cudnn 7.5.0(因为我原本安装了tensorflow,cuda升级后,没法使用了,又不想升级tensorflow,因为牵一发而动全身。。。)
根据实验过程无框和cuda似乎是没有关系的
转机出现:后来检测时出现下面报错,有博客说是gpu计算能力不匹配,可以到这里查gpu计算能力查询
CUDA Error: invalid device symbol
darknet: ./src/cuda.c:36:
check_error: Assertion `0’ failed. 已放弃 (核心已转储)
可以看到我的是gpu计算能力是 7.5
到 makefile里面更改,如下
保存后,记得make clean
然后重新 make
最后可以了,有点神奇,究竟是因为改了计算能力,还是其他地方(因为过程中填了各种坑,说不定是某一个操作起作用了)???可以先试试改下计算能力
后来发现单张测试还是不能直接输出带框的图片,但是批量测试保存后的图片都有检测框,奇怪,是opencv的问题吗???
正文:
按照官网到下面一步后出现差异,只输出图片,没有检测信息(正常里面透露着些许诡异,艹…)
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
1、试一下下面命令:(是cfg里面的阈值设置太高了吗?0.5也正常呀,到底为什么???)
./darknet detector test cfg/voc.data cfg/yolo-voc.2.0.cfg yolo-voc_final.weights data/dog.jpg -thresh 0.01
不行的话就0.001,有检测信息了,如下
106 yolo
Loading weights from yolov3.weights…Done!
data/dog.jpg:Predicted in 0.045888 seconds.
umbrella: 0%
suitcase: 0%
refrigerator: 0%
框也出现了,只不过是整张图,如下,虽然还很难受
未完,待续。。。
2、把cudnn关了,重新make,就出框了(这样对检测速度有什么影响吗?)
未完,待续。。。