IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> darknet训练自己数据遇到的麻烦 -> 正文阅读

[人工智能]darknet训练自己数据遇到的麻烦

按照这个教程为主,这个教程为辅,遇到的问题,解决记录一下:

1.解决Python报错–UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x80 in position 658: illegal multibyte sequence

原因:编码方式不一致

解决方案:

在open()方法中加入encoding设置encoding='utf-8'
file1=open("这里是你读取文件的路径","r",encoding='utf-8')

2.Error: l.outputs == params.inputs filters= in the [convolutional]-layer doesn't correspond to classes= or mask= in [yolo]-layer

原因:cfg文件设置出错,一般是filters那里没有更改

解决方案:

use the filter formula for convolution layer before YOLO layer (classes+5)x3

so the filter not 255 but 18, (1+5)x3
--------------------------------------------------------------------
把yolo(搜索yolo,一共有三个)那三块上一层卷积层的filter 改成(classes+5)x3
如果你的classes为1 即改成filter=18,例如我:

[convolutional]
size=1
stride=1
pad=1
filters=18
activation=linear

[yolo]
mask = 6,7,8
anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326
classes=1
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=1

...
...
...

[convolutional]
size=1
stride=1
pad=1
filters=18
activation=linear

[yolo]
mask = 3,4,5
anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326
classes=1
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=1

...
...
...

[convolutional]
size=1
stride=1
pad=1
filters=18
activation=linear

[yolo]
mask = 0,1,2
anchors = 10,13,  16,30,  33,23,  30,61,  62,45,  59,119,  116,90,  156,198,  373,326
classes=1
num=9
jitter=.3
ignore_thresh = .5
truth_thresh = 1
random=1

3.Error in load_data_detection() - OpenCV

原因:不是命名问题就是是路径问题

解决方案:才发现我的图片是png格式。。。不是jpg,把写的路径更改一下就好了。

for year, image_set in sets:
    if not os.path.exists('myData/labels/'):  # 改成自己建立的myData
        os.makedirs('myData/labels/')
    image_ids = open('myData/ImageSets/Main/%s.txt'%(image_set)).read().strip().split()
    list_file = open('myData/%s_%s.txt'%(year, image_set), 'w')
    for image_id in image_ids:
        list_file.write('%s\myData\JPEGImages\%s.png\n'%(wd, image_id))  #这个地方加不加前缀呢...好像需要加前缀
        convert_annotation(year, image_id)
    list_file.close()

4.CUDA status Error: file: ..\..\src\dark_cuda.c : cuda_make_array() : line: 493 :

这里我也不太清除到底是怎么回事

如果你编译成功了,但是测试的时候报错,可以建议你看一下这一篇博客,我没有细看,因为我改了cfg里面的subdivisions改大之后之后就能开始训练了。

结论:原来我被windows给骗了。。。

今天我左想右想,觉得不对劲,我在训练的时候,GPU之占用了8%,这合理吗?这不合理,我决定好好看看怎么解决这个问题。另外网上有些说是改makefile文件,但是在win10系统下使用VS2019并不会加载这个文件,按照我之前配置darknet的教程来,编译成功就可以了。

真相了win10真的有毒,Win 10果然是Bug 10:GPU占用率原来是这么算的,那么我实际额GPU在训练的时候利用率是多少呢?

使用命令nvidia-sim

那这么一说确实是超出了 ,需要把subdivisions改大一点缓解压力,于是我改成了32,最大训练次数改成了2000次,因为我看有人说训练几个classes就用2000乘,训练的时间也还蛮快的,说是要7个小时,结果四十分钟左右就训练完了。

希望我的经验之谈能够帮助需要的人~

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 09:37:50  更:2021-08-06 09:43:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 15:10:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码