PaddleClas——训练自定义数据集的分类模型并部署在Windows端

文章目录

    • 在AI studio端训练模型
      • 配置环境
      • 数据集准备
      • 配置模型超参数
      • 训练模型
      • 生成可预测的模型文件
      • 模型评估
      • 预测
    • Windows端部署
      • 环境准备
      • 预测
        • 预测效果

因为在做机器学习的结课大作业,在分别尝试了Keras、pytorch等框架后,因为本地训练真的巨慢,而且前两个API真的对刚接触新框架的同学不友好,同时,百度的分类模型中方便地提供了超参数的配置文件,同时提供了超大规模的分类预训练模型,可以极大地提高模型的拟合效果,所以最终采用了Paddle来做本次作业。

在AI studio端训练模型

配置环境

拉取PaddlePaddle-Classification
!git clone https://github.com/yeyupiaoling/PaddlePaddle-Classification.git
#安装环境
!pip install ujson opencv-python pillow tqdm PyYAML visualdl -i https://mirrors.aliyun.com/pypi/simple/
!pip install paddleslim==1.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
!pip install PaddlePaddle-Classification/utils/ppcls-0.0.3-py3-none-any.whl

数据集准备

#解压数据集
!unzip -d /home/aistudio/ data/data66734/dataset.zip

数据集只需要进行按类别放到不同的文件夹里即可。(需要自行看一下creat_list.py文件中对于数据集文件格式的要求)

#生成txt
!python PaddlePaddle-Classification/create_list.py

配置模型超参数

#下载预训练模型
!wget https://paddle-imagenet-models-name.bj.bcebos.com/MobileNetV1_pretrained.tar
!tar -xf /home/aistudio/MobileNetV1_pretrained.tar
  • 通过修改yaml文件修改模型具体的超参数
  • 通过更改yaml文件更换模型进行训练测试
# 每次换模型训练前必须删除logs/文件夹,否则使用visualDL会出现前一次训练结果依然存在的情况
!CUDA_VISIBLE_DEVICES=0 
!rm -rf logs/

训练模型

!python PaddlePaddle-Classification/train.py --config PaddlePaddle-Classification/configs/MobileNetV1.yaml

生成可预测的模型文件

!python PaddlePaddle-Classification/export_model.py

模型评估

!python PaddlePaddle-Classification/eval.py

PaddleClas——训练自定义数据集的分类模型并部署在Windows端_第1张图片

预测

!python PaddlePaddle-Classification/infer.py --image_path="dataset/images/metal/metal102.jpg"

Windows端部署

环境准备

拉取PaddlePaddle-Classification
!git clone https://github.com/yeyupiaoling/PaddlePaddle-Classification.git
#安装环境
!pip install ujson opencv-python pillow tqdm PyYAML visualdl -i https://mirrors.aliyun.com/pypi/simple/
!pip install paddlelite
!pip install paddleslim==1.1.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
!pip install PaddlePaddle-Classification/utils/ppcls-0.0.3-py3-none-any.whl

缺什么pip安装一下就行。

预测

直接运行infer.py文件即可,可以对infer.py自行进行魔改,但是输入图像一定要经过归一化处理!!! 否则预测结果你就会吃到没有归一化的苦。
如果要将infer.py文件单独放在路径下,一定记得将utils文件夹一并带走,和infer.py放在一起,这样才能正常运行预测程序。
PaddleClas——训练自定义数据集的分类模型并部署在Windows端_第2张图片

预测效果

PaddleClas——训练自定义数据集的分类模型并部署在Windows端_第3张图片

你可能感兴趣的:(深度学习,python)