数据集:DETRAC
UA-DETRAC数据集来自于北京和天津不同的24个区域道路的监控中的截图,且为车辆的俯拍角度,适用于城市的道路监控。
链接:https://pan.baidu.com/s/1HFasaCgogWZrNqPHEltIqg
提取码:6k0i
参考项目:
https://github.com/AlexeyAB/darknet
https://github.com/qqwweee/keras-yolo3 (使用该项目训练yolov3模型GPU)
(制作VOC格式数据集)
环境:
win10,CUDA10.1,CUDNN7.6.0,vs2017,
python3.5. 4,tensorflow-gpu1.14.0,keras==2.1.5
需要注意的是最好在安装keras之前安装tensorflow-gpu.
GTX965(本地gpu)/2*2080(公司GPU服务器)
step1.windows10下CUDA和CUDNN的安装
更新显卡驱动(https://www.nvidia.com/Download/index.aspx?lang=en-us),一般来说,显卡驱动支持的cuda版本是向下兼容的,也就是说,安装低版本的cuda工具包都是可以使用GPU的。下面贴出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fai6Z5ZQ-1615951567306)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128100255227.png)]
在使用N卡的gpu进行模型训练的之前,必须安装cuda和cudnn。
首先可以进入终端输入nvcc -V
或者nvcc --version
查看是否安装cuda和cudnn
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1hGqlhZY-1615951567310)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210127113810974.png)]
如果出现上图,则表明已经安装好cuda,版本为10.1。
如果安装可以看到对应的cuda版本,查看cudnn版本可通过打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include 目录下的cudnn.h文件查看,这里要注意的是cuda和cudnn对应的版本。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9fwlguVR-1615951567312)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210127114157765.png)]
上图表明本地的cudnn版本为7.6.0。
主要要注意各个系统中tensorflow-gpu版本和python版本,cuda版本以及cudnn版本的对应,由下图tensorflow官网给出(其实不是说和下面不一致的就运行不了,注意到我的cuda版本和tensorflow-gpu版本也不是对应的,后面解释了tensorflow-gpu版本和cuda版本不一致的问题)
当然,如果你已经安装了python,tensorflow-gpu,cuda和cudnn,最好可以首先查看tensorflow能否使用gpu,如果可以大概率在你训练模型的时候也是可以的。
window
CPU
版本 | Python 版本 | 编译器 | 构建工具 |
tensorflow-2.3.0 | 3.5-3.8 | MSVC 2019 | Bazel 3.1.0 |
tensorflow-2.2.0 | 3.5-3.8 | MSVC 2019 | Bazel 2.0.0 |
tensorflow-2.1.0 | 3.5-3.7 | MSVC 2019 | Bazel 0.27.1-0.29.1 |
tensorflow-2.0.0 | 3.5-3.7 | MSVC 2017 | Bazel 0.26.1 |
tensorflow-1.15.0 | 3.5-3.7 | MSVC 2017 | Bazel 0.26.1 |
tensorflow-1.14.0 | 3.5-3.7 | MSVC 2017 | Bazel 0.24.1-0.25.2 |
tensorflow-1.13.0 | 3.5-3.7 | MSVC 2015 update 3 | Bazel 0.19.0-0.21.0 |
tensorflow-1.12.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 |
tensorflow-1.11.0 | 3.5-3.6 | MSVC 2015 update 3 | Bazel 0.15.0 |
tensorflow-1.10.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.9.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.8.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.7.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.6.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.5.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.4.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.3.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.2.0 | 3.5-3.6 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.1.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 |
tensorflow-1.0.0 | 3.5 | MSVC 2015 update 3 | Cmake v3.6.3 |
GPU
版本 | Python 版本 | 编译器 | 构建工具 | cuDNN | CUDA |
tensorflow-2.1.0 | 2.7、3.5-3.7 | GCC 7.3.1 | Bazel 0.27.1 | 7.6 | 10.1 |
tensorflow-2.0.0 | 2.7、3.3-3.7 | GCC 7.3.1 | Bazel 0.26.1 | 7.4 | 10.0 |
tensorflow_gpu-1.14.0 | 2.7、3.3-3.7 | GCC 4.8 | Bazel 0.24.1 | 7.4 | 10.0 |
tensorflow_gpu-1.13.1 | 2.7、3.3-3.7 | GCC 4.8 | Bazel 0.19.2 | 7.4 | 10.0 |
tensorflow_gpu-1.12.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.11.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.9.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.11.0 | 7 | 9 |
tensorflow_gpu-1.8.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 | 7 | 9 |
tensorflow_gpu-1.7.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.6.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.5.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.8.0 | 7 | 9 |
tensorflow_gpu-1.4.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.5.4 | 6 | 8 |
tensorflow_gpu-1.3.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 6 | 8 |
tensorflow_gpu-1.2.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
linux
CPU
版本 | Python 版本 | 编译器 | 构建工具 |
tensorflow-2.1.0 | 2.7、3.5-3.7 | GCC 7.3.1 | Bazel 0.27.1 |
tensorflow-2.0.0 | 2.7、3.3-3.7 | GCC 7.3.1 | Bazel 0.26.1 |
tensorflow-1.14.0 | 2.7、3.3-3.7 | GCC 4.8 | Bazel 0.24.1 |
tensorflow-1.13.1 | 2.7、3.3-3.7 | GCC 4.8 | Bazel 0.19.2 |
tensorflow-1.12.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 |
tensorflow-1.11.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 |
tensorflow-1.10.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 |
tensorflow-1.9.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.11.0 |
tensorflow-1.8.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 |
tensorflow-1.7.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 |
tensorflow-1.6.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 |
tensorflow-1.5.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.8.0 |
tensorflow-1.4.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.5.4 |
tensorflow-1.3.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 |
tensorflow-1.2.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 |
tensorflow-1.1.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 |
tensorflow-1.0.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 |
GPU
版本 | Python 版本 | 编译器 | 构建工具 | cuDNN | CUDA |
tensorflow-2.1.0 | 2.7、3.5-3.7 | GCC 7.3.1 | Bazel 0.27.1 | 7.6 | 10.1 |
tensorflow-2.0.0 | 2.7、3.3-3.7 | GCC 7.3.1 | Bazel 0.26.1 | 7.4 | 10.0 |
tensorflow_gpu-1.14.0 | 2.7、3.3-3.7 | GCC 4.8 | Bazel 0.24.1 | 7.4 | 10.0 |
tensorflow_gpu-1.13.1 | 2.7、3.3-3.7 | GCC 4.8 | Bazel 0.19.2 | 7.4 | 10.0 |
tensorflow_gpu-1.12.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.11.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.9.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.11.0 | 7 | 9 |
tensorflow_gpu-1.8.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.10.0 | 7 | 9 |
tensorflow_gpu-1.7.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.6.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.9.0 | 7 | 9 |
tensorflow_gpu-1.5.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.8.0 | 7 | 9 |
tensorflow_gpu-1.4.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.5.4 | 6 | 8 |
tensorflow_gpu-1.3.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 6 | 8 |
tensorflow_gpu-1.2.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.5 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7、3.3-3.6 | GCC 4.8 | Bazel 0.4.2 | 5.1 | 8 |
安装项目所需的python工具包
pip install tensorflow-gpu==1.6.0
pip install keras==2.1.5
查看是否有GPU:返回GPU的参数
import tensorflow as tf
print(tf.test.gpu_device_name())
查看GPU是否可用:返回true/false
tf.test.is_gpu_available()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r58aadTi-1615951567315)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128091045330.png)]
GPU型号:GTX965,设备编号:0,GPU是否可用:true
我的电脑同时安装cuda10.0(cudnn7.4),cuda10.1(cudnn7.6),cuda11.1三个版本
存在的一个问题:
查看正在使用的cuda版本为10.1,但是由上图可以看出,在终端使用GPU时,却使用的是cuda10.0。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JiWIC6Iw-1615951567318)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128092129777.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nmvvWvXZ-1615951567321)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128092729988.png)]
个人给出的一个解释:
由于tensorflow-gpu安装的版本是1.14.0,根据tensorflow-gpu的版本找到对应的cuda版本(10.0)。
贴出cuda10.0和cudnn7.4的链接:
链接:https://pan.baidu.com/s/1Dy7JDy7v6px6XiMcCOYVvQ
提取码:x3e1
step2.制作VOC格式数据集:
将UA-DETRAC数据集下载并解压,得到以下文件:
DETRAC-Train-Images (5.22GB, 60 sequences)
DETRAC-Test-Images (3.94GB, 40 sequences)
DETRAC-Train-Annotations-XML
将项目文件git clone下来:git clone https://github.com/qqwweee/keras-yolo3
制作voc数据集格式项目:get clone
该数据集中train文件夹下的图片有几万张,为了减少模型训练时间,我只选取了路径UA-DETRAC(车辆检测数据集8250车辆)\DETRAC-train-data\Insight-MVT_Annotation_Train\MVI_20011下的六百多张图片。所以我只保留了DETRAC-Train-Annotations-XML文件夹下MVI_20011.xml以及Insight-MVT_Annotation_Train\MVI_20011下的照片。
1,在文件夹下创建VOCdevkit文件夹,然后创建VOC2007文件夹
VOC2007文件夹下有五个文件夹
├── Annotations # 存放xml文件,主要是记录标记框位置信息
├── ImageSets # 存放的都是txt文件,txt文件中每一行包含一个图片的名称
├── Layout
├── Main
└── Segmentation
├── JPEGImages # 存放源图片
├── labels
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eAjXzOt4-1615951567323)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128112927297.png)]
2,DETRAC数据集为每个文件夹中的图片提供了一个.xml文件,不需要自己再进行手动标识,但是需要将.xml文件分成对应每个图片的.xml。
将DETRAC_xmlParser.py文件与xml文件夹放在同一路径下,运行后会在同一目录下生成xml_test文件夹,里面存放的是每个图片对应的.xml文件,将xml_test文件夹下的.xml文件复制到VOCdevkit\VOC2007\Annotations下(注意修改一下.py文件中最后一行可视化视频帧的地址)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AzXcvIsL-1615951567324)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128130610436.png)]
这里不能直接把路径DETRAC-train-data\Insight-MVT_Annotation_Train\MVI_20011下的所有图片放入JPEGImages文件中。需要批量重命名文件夹中图片文件。
3,将voc_data_migrate.py放到与文件夹Insight-MVT_Annotation_Train同一路径下。同样,py文件与Insight-MVT_Annotation_Train文件夹在同一目录下,最终生成picture_test文件夹,里面含有六百多张图片,其实,图片还是Insight-MVT_Annotation_Train\MVI_20011文件夹下的图片,只是图片的名字改了下,然后该picture_test文件夹下的所有照片复制到JPEGImages文件夹下。(注意修改.py中的地址)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NgWnMNBD-1615951567326)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128130645597.png)]
4,利用mageSets_Convert.py, 产生trainval.txt,test.txt,train.txt,val.txt文件,保存在ImageSets\Main文件夹下,这样VOC2007格式的数据集就生成好了。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-frvD40Y6-1615951567328)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128131737103.png)]
step3.训练模型
1,生成keras-yolo3所需的train.txt,val.txt,test.txt。
step2中制作的数据集不能直接供keras-yolov3直接使用。需要运行voc_annotation.py ,记得修改classes为数据集中的类别,这里classses = ["car"]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zP96BKgD-1615951567329)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128132853525.png)]
2,将model_data/voc_classes.txt文件中的类别修改为自己的类别
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v0zOE46P-1615951567331)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128140156438.png)]
3,修改文件yolov3.cfg中的参数
搜索yolo,一共出现三次,每处修改三个地方,
filter:18 #3 *(5+len(classes)),注意不要在18后加#否则可能在读取网络文件配置时,出现识别错误,在我删掉#及其后面的注释就顺利生成.h5文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-drZ1SUJa-1615951567333)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128143737454.png)]
classes:1 #要训练的类别数
random:0 #原来是1,显存小改为0
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7YFR6RVY-1615951567335)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128143356990.png)]
在修改yolov3.cfg文件后,执行python convert.py yolov3.cfg yolov3.weights model_data/yolocar.h5
这时在model_data文件夹下便生成yolocar.h5文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z4zWojHl-1615951567337)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128145444633.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2GJs1Wiw-1615951567339)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128145455708.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vxp6YYHV-1615951567341)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128145505432.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3nrlSW4i-1615951567343)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128145514565.png)]
4,修改anchor的坐标值
yolo是利用9个anchor来检测目标的位置,因此这9个anchor设置的好坏,会直接影响到训练与检测效果。
我们使用kmeans方法来聚类得到与我们数据集接近的anchors,在keras-yolov3下边有一个kmeans.py文件,打开后将filename改为2007_train.txt(2处),保存运行该脚本,会得到9个anchors的坐标值以及准确率。记下这9个坐标值,然后打开model_data中的yolo_anchors.txt,按照文本中的格式,将9个anchors值依次写入即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ugRcmW5R-1615951567344)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210128151215911.png)]
5,修改train.py,训练模型
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Yst1d8b-1615951567345)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210129085608422.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u0Xcaj3j-1615951567346)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210129085636213.png)]
根据保存文件名修改相应位置的.txt以及.h5文件。
如果训练过程中出现显存不足(OOM),解决方面有二:
1)调整输入的尺寸:(input_shape)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v1aFy7NO-1615951567348)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210129085911523.png)]
2)改变batch_size大小32调整为16,8,4
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G0n2bP0E-1615951567349)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210129085953674.png)]
6,训练权重文件保存
最后训练出模型,即train_weights_final.h5文件。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w5OvuP1P-1615951567353)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210129092434389.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-r4zQX8gH-1615951567354)(C:\Users\jinchen\AppData\Roaming\Typora\typora-user-images\image-20210129092114364.png)]
总结:
训练模型注意事项:
在下载权重的时候需要注意,看看 GPU RAM 要求,比如,我的显存 2G 是用不了yolov3.weights
模型的它的要求 4G,只能用yolov3-tiny.weights
如果显存大于 4G ,那直接用yolov3.weights
预训练模型就可以了。
CUDA,tensorflow出现OOM
解释:服务器的GPU大小为M,tensorflow只能申请N(N<M),也就是tensorflow告诉你 不能申请到GPU的全部资源 然后就不干了
解决方法(本例中没找到session,所以没有尝试):
找到代码中Session,在session定义前 增加
config = tf.ConfigProto(allow_soft_placement=True)
\#最多占gpu资源的70%
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
\#开始不会给tensorflow全部gpu资源 而是按需增加
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
在使用服务器GPU训练时出现OOM的情况:
tensorflow 会在就算用device_id指定gpu 也会占用别的GPU的显存资源,所以 必须在执行程序前
执行 export CUDA_VISIBLE_DEVICES=n
只让1个或者个别GPU可见 其他GPU看不见 就行了
需要的文件链接:(百度网盘永久有效)
yolov3-tiny.weights
链接:https://pan.baidu.com/s/1TIfF6-ZtP6F_u_dwIyEU_Q
提取码:inip
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V2的分享
darknet53.conv.74
链接:https://pan.baidu.com/s/1pXADiPBIqUTiSIFHAM6Wpw
提取码:08g3
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V2的分享
常用链接:
https://pjreddie.com/darknet/yolo/
U可见 其他GPU看不见 就行了
需要的文件链接:(百度网盘永久有效)
yolov3-tiny.weights
链接:https://pan.baidu.com/s/1TIfF6-ZtP6F_u_dwIyEU_Q
提取码:inip
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V2的分享
darknet53.conv.74
链接:https://pan.baidu.com/s/1pXADiPBIqUTiSIFHAM6Wpw
提取码:08g3
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V2的分享
常用链接:
https://pjreddie.com/darknet/yolo/