项目简介
本项目借助openmmlab的mmclassification工具箱,助力用户快速构建模型,以完成LED灯的色彩和均匀性检测分类任务。项目提供了涵盖依赖安装、数据集构建、模型配置修改、训练、结果生成与提交等环节的完整操作流程,同时给出了可改进的方向。
项目的主要特性和功能
- 多模型支持:mmclassification包含VGG、ResNet、Swin - Transformer等众多模型,可按需选择合适模型执行任务。
- 工具丰富:mmclassification提供print_config.py、verify_dataset.py等实用工具,便于用户操作。
- 训练策略多样:支持基础训练和伪标签学习等训练策略。
- 结果生成:提供脚本用于生成结果文件,可用于提交。
- 评估指标多样:使用准确度、精确度、召回率、F1分数等多种评估指标评估模型性能。
安装使用步骤
安装依赖
```shell conda create -n open-mmlab python=3.8 pytorch=1.10 cudatoolkit=11.3 torchvision -c pytorch -y conda activate open-mmlab pip3 install openmim mim install mmcv-full cd mmclassification pip3 install -e.
pip install mmclassification or mim install mmclassification
optional
pip install -r requirements.txt
```
构建数据集
下载好数据集,将中文文件名修改,文件结构如下:
data
├── led
│ ├── good
│ ├── bad
│ ├── bad_aug
│ ├── test
│ ├── train.txt
│ ├── val.txt
使用以下命令生成train.txt和val.txt:
shell
pyhton tools/datasets_split_led.py
修改模型配置
从mmclassification的configs目录下选取想要尝试的模型配置文件,复制到本代码的config目录下。可修改schedules、datasets、models目录下的文件,也可直接修改configs目录下的配置文件。还可使用以下工具:
shell
1. mmclassification/tools/misc/print_config.py
2. mmclassification/tools/misc/verify_dataset.py
模型训练
使用以下脚本进行训练:
./train.sh
脚本内容如下:
```
CONFIG_FILE=configs/resnet50_1xb32_led.py
RESULT_DIR=training/resnet50_1xb32_led
python tools/train.py ${CONFIG_FILE} --work-dir ${RESULT_DIR} --gpu-id 0
``` 修改CONFIG_FILE为配置的模型文件,修改RESULT_DIR为输出文件夹。
生成结果并提交
使用以下脚本:
./infer_led.sh
脚本内容如下:
```
IMAGE_DIR=data/led/test
CONFIG_FILE="configs/resnet50_1xb32_led.py"
WEIGHT="training/resnet50_1xb32_led/epoch_50.pth"
RESULT=resnet50_1xb32_led.csv
python tools/infer_led.py ${IMAGE_DIR} --config ${CONFIG_FILE[]} --checkpoint ${WEIGHT[]} --result_csv_file ${RESULT}\ ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】