官网教程:https://paddlepaddle.github.io/PaddleX/3.0-beta2/module_usage/tutorials/cv_modules/image_multilabel_classification.html#413

1.环境要求

  • python3.8-3.10
  • 安装 paddle的相关环境(下面两个都要安装)
    1.根据自己的电脑环境安装对应的paddlepaddle版本
- cpu
python -m pip install paddlepaddle==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/

- gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/

- gpu,该命令仅适用于 CUDA 版本为 12.3 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b2 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/

2.安装PaddleX

git clone https://github.com/PaddlePaddle/PaddleX.git
cd PaddleX
pip install -e .
paddlex --install PaddleClas

2.模型训练与推理

2.1 数据集准备

  • 1.使用paddlelabel工具进行数据标注。
pip install --upgrade paddlelabel
pip install a2wsgi uvicorn==0.18.1
pip install connexion==2.14.1
pip install Flask==2.2.2
pip install Werkzeug==2.2.2
  • 2.启动
终端输入paddlelabel或者pdlabel启动paddlelabel工具
  • 选择目标检测->填写项目名称和数据路径(有三种导入方式,如果你的数据集没有任何标注,就随意选择一种即可)->开始标注
  • 在右侧添加所有的类别->在右侧选择一种类别,然后在左侧选择矩形,然后长按拖拽鼠标框出需要标注的区域即可,可以多次框选。
  • 数据集划分->按比例划分数据集,训练集、验证集、测试集。
  • 导出数据->支持coco,voc,yolo三种格式导出,这里选择coco格式导出。
  • 导出后有一个image文件夹和train,val,test三个标注文件

按照如下表格重命名文件名:

源文件(目录)名 重命名后文件(目录)名
train.json instance_train.json
val.json instance_train.json
test.json instance_test.json
image images

在数据集根目录创建annotations目录,并将json文件全部移动到annotations目录下,最后文件目录结构如下:

dataset
├── annotations
│   ├── instance_train.json
│   ├── instance_val.json
│   └── instance_test.json
└── images
    ├── 000001.jpg
    ├── 000002.jpg
    ├──...
    └── 000010.jpg

3.转换成MLClsDataset格式:

python main.py -c ./paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B6_ML.yaml//配置文件路径
    -o Global.mode=check_dataset //模式选择为校验数据集
    -o Global.dataset_dir=./dataset/det_coco_examples //数据集路径
    -o CheckDataset.convert.enable=True //开启数据转换
    -o CheckDataset.convert.src_dataset_type=COCO //源数据集格式

2.2 数据校验:

python main.py -c ./paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B6_ML.yaml//配置文件路径
    -o Global.mode=check_dataset //模式选择为校验数据集
    -o Global.dataset_dir=./dataset/mlcls_nus_examples //数据集路径
    //在终端上输入以上命令
    示例:python main.py -c ./paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B6_ML.yaml -o Global.mode=check_dataset -o Global.dataset_dir=./dataset/data2

2.3 模型训练:

python main.py -c ./paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B6_ML.yaml//配置文件路径
    -o Global.mode=train \
    -o Global.dataset_dir=./dataset/mlcls_nus_examples//数据集路径

2.4 模型评估:

python main.py ./paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B6_ML.yaml
    -o Global.mode=evaluate \
    -o Global.dataset_dir=./dataset/mlcls_nus_examples//测试数据集路径

2.5 模型推理:

python main.py -c ./paddlex/configs/modules/image_multilabel_classification/PP-HGNetV2-B6_ML.yaml
    -o Global.mode=predict \
    -o Predict.model_dir="./output/best_model/inference" //模型路径
    -o Predict.input="multilabel_classification_005.png"//可以是单张图片路径或文件夹路径
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐