服务器部署yolox项目-训练自己的数据集记录

服务器部署yolox项目-训练自己的数据集记录

服务器环境说明
操作系统:centos
显卡:TeslaV100
裸机安装
yum -y install tmux(用于同时开启多个窗口)
yum install lrzsz (用于上传下载不大的文件)
yum install -y git
yum -y install zip unzip
yum install libX11 (YOLOX项目依赖)
yum install libXext (YOLOX项目依赖)
anaconda安装(用于隔离管理虚拟环境)
wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
说明:外网,有时会慢,可下载安装包,上传后安装
bash Anaconda3-2020.07-Linux-x86_64.sh
机器自带cuda11.2 未安装
创建虚拟环境
conda create -n yolox python=3.8
source activate yolox (激活虚拟环境)
安装 YOLOX(参考YOLOX-main的quick_run.md)
git clone https://github.com/Megvii-BaseDetection/YOLOX.git (慢的话步骤b)
git clone https://gitee.com/hmmwjs/YOLOX.git
cd YOLOX
YOLOX目录下安装新版gcc 网址下载wget https://anaconda.org/brown-data-science/gcc/5.4.0/download/linux-64/gcc-5.4.0-0.tar.bz2
下载gcc-5.4.0-0.tar.bz2 到YOLOX目录
conda install gcc-5.4.0-0.tar.bz2
pip3 install -U pip && pip3 install -r requirements.txt -i
https://pypi.douban.com/simple/
python3 setup.py develop 或者 pip3 install -v -e . (关乎路径生成,可参考官方issue,安装yolox等
pip install wandb -i https://pypi.douban.com/simple/
安装 pycocotools
pip3 install cython -i https://pypi.douban.com/simple/
pip3 install pycocotools -i https://pypi.douban.com/simple/
报错缺少哪个包就重新安装pip3 install -i https://pypi.douban.com/simple/ **
准备数据说明
COCO数据集目录结构
train2017文件夹:11万8287张
test2017文件夹: 4万670张
val2017文件夹 : 5千张
annotations文件夹
train2017.json
images字段列表元素的长度等同于划入训练集(或者测试集)的图片的数量
categories字段列表元素的数量等同于类别的数量
annotations字段列表元素的数量等同于训练集(或者测试集)中bounding box的数量
val、test同

准备预训练权重文件和数据 配置文件修改
/root/program/YOLOX-main/yolox/data/datasets/coco_classes.py:类别名称
/root/program/YOLOX-main/yolox/exp/yolox_base.py : 数据集目录、epoch、batchsize、basic_lr_per_img、print_interval、eval_interval
/root/program/YOLOX-main/yolox/data/datasets/coco.py : 数据集目录
/root/program/YOLOX-main/yolox/utils/logger.py:日志文件
/root/program/YOLOX-main/tools/eval.py :
/root/program/YOLOX-main/yolox/evaluators/coco_evaluator
/root/program/YOLOX-main/yolox/core/trainer
demo测试(利用官方默认图片及路径,检测环境是否安装正确)
python tools/demo.py image -n yolox-l -c weights/yolox_l.pth --path assets/dog.jpg --save_result --device gpu
训练数据
nohup python -u tools/train.py -f exps/default/yolox_l.py -d 1 -b 16 -c /data/yolox/pre_weights/best_ckpt.pth > log/yolox_train.txt 2>&1
验证数据
nohup python -u tools/eval.py -f exps/default/yolox_l.py -d 1 -b 16 -c YOLOX_outputs/yolox_l/best_ckpt.pth > log/yolox_eval_.txt 2>&1
测试数据
nohup python -u tools/demo.py image -n yolox-l -c YOLOX_outputs/yolox_l/best_ckpt.pth --path /data/2.5w/coco/test --save_result --device gpu > log/yolox_l_train_demo.txt 2>&1
默认保存路径:YOLOX_outputs/yolox_l/vis_res
模型预测结果和管理及后处理
训练过程可视化 及权重评估
训练集和验证集loss曲线
训练集和测试集AP、AR、ACC曲线的gap评估模型好坏
tensorboard可视化(官方记录的指标有限,可自行添加)
tensorboard的使用
cd tensorboard所在目录的上级目录
tensorboard --logdir tensorboard --bind_all
修改yolox/core/trainer.py
目标检测模型评估指标的意义
精确度:precision = TP / (TP+FP) 查准率,实际的正样本数量占网络认为是正样本的数量的比例
准确度:accuracy = (TP+TN) / (P+N) 识别正确的数量占总数量的比例。保存日志的目录名等抽象成配置文件

你可能感兴趣的:(YOLOX,linux,centos,目标检测,深度学习,计算机视觉)