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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> Windows10下搭建YOLOX环境以及训练自己数据集 -> 正文阅读

[人工智能]Windows10下搭建YOLOX环境以及训练自己数据集

目录:

1.必要环境

2.YOLOX安装及模型推理

3.训练自己数据集及测试

1.必要环境

我的环境是:Windows10+python3.9+CUDA11.1+CUDNN8.1.1

在此环境配置不再多说,网上有很多的教程。本篇主要还是记录YOLOX的使用。(这里安装torch有个小坑,如果起初未安装torch,使用requirements.txt安装,则安装的为cpu版本,而此处我们使用的是gpu版本,注意别踩坑)

2.YOLOX安装

配置YOLOX的环境

2.1 进入github官网下载源码:GitHub - Megvii-BaseDetection/YOLOX: YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/https://github.com/Megvii-BaseDetection/YOLOX

2.2 安装依赖包:

pip install -r requirements.txt

2.3 安装yolox

python setup.py install

2.4 下载apex,解压到项目文件夹内 地址:mirrors / nvidia / apex · GIT CODE

2.5?cd到apex文件夹内,安装apex

cd apex-master
python setup.py install

2.6 返回yolox的主文件夹下,安装pycocotools

pip install pycocotools

2.7下载预训练模型,在2.1步骤给的网址中即可下载

2.8测试效果

测试图片指令:

python tools/demo.py image -f exps/default/yolox_s.py -c ./yolox_s.pth --path assets/dog.jpg --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

效果:

?3. 训练自己的数据集

此处制作数据集的步骤不再赘述。

3.1 首先按要求设置文件夹目录:

?将图片放入JPEGImages中,xml文件放入Annotations

3.2 使用txt_write.py,划分数据集,并写入main文件夹下,生成trainval.txt和test.txt。

import os
import random

trainval_percent = 0.1
train_percent = 0.9
xmlfilepath = 'E:/YOLOX-main/datasets/VOC/VOCdevkit/VOC2007/Annotations'
txtsavepath = 'E:/YOLOX-main/datasets/VOC\VOCdevkit/VOC2007/ImageSets'
total_xml = os.listdir(xmlfilepath)

num = len(total_xml)
list = range(num)
tv = int(num * trainval_percent)
tr = int(tv * train_percent)
trainval = random.sample(list, tv)
train = random.sample(trainval, tr)

ftest = open('E:/YOLOX-main/datasets/VOC/VOCdevkit/VOC2007/ImageSets/Main/test.txt', 'w')
ftrain = open('E:/YOLOX-main/datasets/VOC/VOCdevkit/VOC2007/ImageSets/Main/trainval.txt', 'w')

for i in list:
    name = total_xml[i][:-4] + '\n'
    if i in trainval:
        ftest.write(name)
    else:
        ftrain.write(name)

ftrain.close()
ftest.close()


3.3?修改 yolox/data/dataloading.py 如下:

3.4?修改exps/example/yolox_voc/yolox_voc_s.py如下:

修改num_classes改为自己的类别数量

3.5 修改yolox/data/datasets/voc_classes.py为自己的类别

?3.6 修改yolox/evaluators/voc_eval.py 如下?

在yolox/exp/yolox_base.py

修改self.data_num_workers = 0

执行python setup.py install 更新yolox?

此时运行训练代码报如下错误:Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

方法解决:在train.py文件中添加代码:

import os
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'

3.7?运行代码开始训练 :

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 --fp16 -o -c yolox_s.pth

-d 使用显卡个数
-b 批次大小
–fp16 是否开启半精度训练
-c 加载预训练模型

如果出现CUDA out of memory内存溢出,将–fp16 -o去掉,代码改为如下:

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c yolox_s.pth

继续上一批次恢复训练的话,改成如下形式:

将—resume改为True,-c后面跟接要继续训练的权重文件
代码如下:

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth

?运行截图:

为了演示,本次训练,就训练了2轮。

结果存入:

?测试:

4.1?测试前修改demo.py如下:

注释掉COCO_CLASSES,加入VOC_CLASSES

4.2 测试代码

python tools/demo.py image -f exps/default/yolox_s.py -c ./latest_ckpt.pth --path assets/001.jpg --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

?结果:

因为训练轮数为2轮,所以识别框不是很准确。

到此,YOLOX复现成功。

完结!

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 12:48:58  更:2021-12-13 12:49:06 
 
开发: 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年11日历 -2024/11/27 0:49:27-

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