栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Window10+YOLOX推理训练

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Window10+YOLOX推理训练

Window10+YOLOX推理训练(保姆级教程)

前言:旷视科技推出了YOLOX,速度可以说是有很大的提升。
看图

0.需要的配置

本人显卡:GTX1660(6G)
IDE:Pycharm
Cuda11.2+cudnn8.2 (注意必须配套)
Cuda下载链接
CUDNN下载链接(需要登陆,邮箱登录就行)
pip list


安装Pytorch+ torchvision+torchaudio GPU版

pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://downlo
ad.pytorch.org/whl/torch_stable.html

测试代码(终端cmd输入运行) 别忘了切换环境

python

import torch
torch.cuda.is_available()  #如果为True就安装好了

1.源码+基础环境配置

1.下载源码

下载YOLO-X源码:git clone git@github.com:Megvii-baseDetection/YOLOX.git

Git使用不了的点击:这是一个超链接,只为解决Git使用不了

2.安装所需环境配置

cd YOLOX     #进入YOLOX的目录下

pip3 install -U pip    #更新pip工具

#补充一句  这里最好在新创建一个环境。(不创建也不影响以下操作)

pip3 install -r requirements.txt     #下载所需要的包

pip3 install -v -e  .           # or  python3 setup.py develop

最后一步不是太理解:详细解释

2.安装apex

APEX为NVIDIA开源的,非常支持Pytorch框架,可以改变数据格式和模型占用的显存,对于训练帮助十分的大。不训练的不用下载,直接进行下一步骤。

apex下载地址:这是一个超链接,下载apex
解压过后的文件夹保存到自己的环境下,贴上我的路径,我的为:

C:ProgramDataAnaconda3envstf2.0Libsite-packages        注:tf2.0为我的环境名字。

执行命令,进入到apex的文件里

cd  C:ProgramDataAnaconda3envstf2.0Libsite-packagesapex      注:选用自己的路径

pip install -r requirements.txt          #安装所需包

python setup.py install         #安装apex
3.安装pycocotools
pip install cython       

#接下来的操作需要微软vs中的几个动态库   如果有 Visual Studio  系列可以忽略提醒。
没有的去官网下载,或者稍后会有链接。

下载cocoapi      https://github.com/cocodataset/cocoapi

cd PythonAPI     #进入到文件目录下  
 
python setup.py install     #安装cocoapi

Visual Studio下载:下载VS使用
cocoapi 下载:CocoAP下载

4.运行推理代码

①下载预训练模型(下面链接中包含yolox_s 和yolox_m)
这里下载预训练模型
提取码: 563f
②执行推理代码

python tools/demo.py image -n yolox-s -c ./yolox_s.pth --path assets/dog.jpg --conf 0.25
 --nms 0.45 --tsize 640 --save_result --device gpu

参数解释
-n 是模型的名字
-c 为权重文件地址
–path是测试的图片路径
–conf 置信度阈值
–nms nms的iou阈值
–tsize 测试图片大小
–save_result 是否保存推理结果
5.进行训练

1.数据集格式

├── data 
│   ├── VOCdevkit
│   │   ├── VOC2007
│   │   │   ├── Annotations #xml文件
│   │   │   ├── JPEGImages #图片
│   │   │   ├── ImageSets
│   │   │   │   ├── Main
│   │   │   │   │   ├── test.txt 
│   │   │   │   │   ├── trainval.txt

我直接使用的VOC2007的数据集,没有自己准备。
VOC全数据下载地址
构建训练集以及验证集

import os
import random

trainval_percent = 0.1
train_percent = 0.9
xmlfilepath = './data/VOCdevkit/VOC2007/Annotations/'
txtsavepath = './data/VOCdevkit/VOC2007/images/'
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)
os.makedirs('./data/VOCdevkit/VOC2007/ImageSets', exist_ok=True)
ftest = open('./data/VOCdevkit/VOC2007/ImageSets/test.txt', 'w')
os.makedirs('./data/VOCdevkit/VOC2007/ImageSets', exist_ok=True)
ftrain = open('./data/VOCdevkit/VOC2007/ImageSets/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()

2、修改代码
设定自己的分类类别 ,VOC为20类。可以不用动,根据实际情况修改。
位置: ./exps/example/yolox_voc/yolox_voc_s.py

这块的2012一定要删了。我就是没有删除,一直报错。

位置:./data/datasets/voc_classes.py,为自己的classname

3.开始训练

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

参数解释
-d 使用多少张显卡训练
-b 批次大小
–fp16 是否开启半精度训练

4.错误列表


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665954.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号