深度学习框架
百度-飞桨
谷歌 的 TensorFlow 和
Facebook 的 PyTorch
华为 的全栈全场景 AI 计算框架 MindSpore
Amazon 主导的 MXNet
微软背书的 CNTK /Microsoft Cognitive Toolkit(CNTK)
https://github.com/PaddlePaddle/Paddle
Pascal VOC采用的[x1,y1,x2,y2] 表示物体的bounding box, COCO采用的[x1,y1,w,h] 表示物体的bounding box.
下载镜像
docker pull paddlepaddle/paddle:2.4.2-gpu-cuda11.2-cudnn8.2-trt8.0
docker pull paddlepaddle/paddle:2.4.0-gpu-cuda11.2-cudnn8.1-trt8.0
创建容器
docker run -it \
--gpus all \
-v /data/cloud:/data/cloud \
--name paddle-base \
paddlepaddle/paddle:2.4.0-gpu-cuda11.2-cudnn8.1-trt8.0 /bin/bash
验证
which python3
The Python Package Index(PyPI)是 Python 的包管理器。
python3 -c "import platform;print(platform.architecture()[0]);print(platform.machine())"
python3 -c "import paddle;print(paddle.utils.run_check(); print(paddle.__version__))"
验证安装
安装完成后您可以使用 python3 进入 python 解释器,输入import paddle ,再输入 paddle.utils.run_check()
#python3 -m pip install paddlepaddle-gpu==2.4.1.post112 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
工具包使用
克隆PaddleClas模型库-pip3 install --upgrade -r requirements.txt -i https://mirror.baidu.com/pypi/simple
飞桨图像识别套件PaddleClas是飞桨为工业界和学术界所准备的一个图像识别和图像分类任务的工具集
PaddleClas :主要基于paddlepaddle框架的分类工具包
- benchmark: 文件夹下存放了一些 shell 脚本,主要是为了测试 PaddleClas 中不同模型的速度指标,如单卡训练速度指标、多卡训练速度指标等。
- dataset:主要用来放置数据集-文件夹下存放数据集和用于处理数据集的脚本。脚本负责将数据集处理为适合 Dataloader 处理的格式。
- deploy: 主要用来放置模型输出所需要的文件-文件夹存放的是部署工具,支持 python/cpp inference、Hub Serveing、Paddle Lite、Slim 离线量化等多种部署方式。
- ppcls: paddlepaddle class的主要框架文件,包含网络模型结构、基础配置文件、优化器、loss等结构文件
PaddleClas/ppcls/configs/
实际来修改配置文件里的内容,比如epoch,image_size, 网络模型,类别数,batchsize, 数据集路径等
ImageNet/MobileNetV1/MobileNetV1.yaml
Global
# model architecture # loss function config for traing/eval process #Optimizer:
# data loader for train and eval
#Infer: Metric:
PaddleClas/ppcls/loss 中,包含了 CELoss, JSDivLoss, TripletLoss, CenterLoss 等损失函数,均定义在 ppcls/loss 中
- log:用于放置评测输出的log
- tests: 模型从训练到预测的全链路测试,验证各功能是否能够正常使用。
- tools: 训练、评估、预测、模型动转静导出的入口函数和脚本均在该文件下。
应用:
01.了解数据集,将数据转换为PaddleClas支持读取的文件格式
02.划分训练集和验证集
03.修改数据
ResNet50_vd.yaml, 主要修改里面的几个参数:分类数、训练集和验证集数量、训练集和验证集列表文件以及路径
04.下载预训练模型并加载预训练模型进行训练
# for multi-cards train
export CUDA_VISIBLE_DEVICES=0,1,2,3
python3.7 -m paddle.distributed.launch --gpus="0,1,2,3" tools/train.py -c ./ppcls/configs/ImageNet/ResNet/ResNet50.yaml
05.使用inference模型进行模型推理 使用python predict.py进行模型推
###说明
prettytable
ujson
opencv-python==4.4.0.46
pillow
tqdm
PyYAML
visualdl >= 2.2.0
scipy
scikit-learn==0.23.2
gast==0.3.3
faiss-cpu==1.7.1.post2
## 模式1:lite_train_infer,模式2:whole_infer 模式3:infer 不训练 模式4:whole_train_infer
最终在tests/output目录下生成.log后缀的日志文件
PaddleDetection
1、配置文件的作用
配置文件在PaddleDetection中,主要是为模型训练,评估,测试提供相应参数配置,方便超参数管理,提高代码的可读性。
2、配置文件简介
配置文件可以由多个*.yml文件构成,
每一个yaml文件管理某一项特定作用的配置,然后再通过一个配置文件管理各个功能独立的配置文件。
比如:dataset.yml,
optimizer.yml,reader.yml,network.yml;
其中,dataset.yml配置数据集相关信息,optimizer.yml配置优化策略,学习率等,reader.yml配置数据的预处理过程,也就是数据增强部分;network.yml定义网络结构
源码阅读
配置系统的大多数功能由 ppdet.core.workspace 模块提供
参考
PaddleClas全流程极快极简代码实践AI图像分类 https://aistudio.baidu.com/aistudio/projectdetail/1636154
https://blog.csdn.net/weixin_46604911/article/details/122235332
PaddleClas 就是一个超强的图像分类任务的工具集
https://github.com/PaddlePaddle/PaddleDetection
https://github.com/PaddlePaddle/PaddleClas
https://github.com/PaddlePaddle/PaddleYOLO
https://github.com/PaddlePaddle/PaddleDetection#%E6%A8%A1%E5%9E%8B%E5%BA%93
标签:配置文件,Paddlepaddle,paddle,飞桨,https,ppcls,PaddleClas,com,yml
From: https://www.cnblogs.com/ytwang/p/17138331.html