学习paddle-detection(paddlex的使用)

本文介绍了如何下载并安装Paddlex,重点讲解了在开发者模式下可以查看和编辑的文件,如base、data、config.yaml等,以及如何通过修改ui_config.yaml和config.yaml进行配置。特别强调了开发者模式下run_paddlex.py和gradio的使用和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先下载paddlex(网页)的本地软件,下载链接如下:

paddlex

下载完成后进行安装

打开后选择开发者模式,开发者模式主要是和VScode进行集成

本章节主要介绍在开发者模式下可以查看和编辑的文件及其作用,关于在线VSCode本身的使用,请参考官方文档。 下面详细说明workspace中的文件,目录结构如下图:

├── base                       # UI模板的具体实现模块
    ├── __pycache__            # 存放 Python 解释器编译过的模块的缓存文件,无需关注。
    ├── utils                  # 通用工具
    ├── __init__.py            
    ├── base_run_paddlex.py    # run_paddlex.py的基类
    ├── base_ui.py             # UI基类
    ├── compress_ui.py         # 模型压缩环节的UI
    ├── dataset_ui.py          # 数据集校验环节的UI
    ├── deploy_ui.py           # 模型部署环节的UI
    ├── evaluate_ui.py         # 验证测试环节的UI
    ├── train_ui.py            # 模型训练环节的UI           
├── data                       # 数据目录
├── quick_start                # 快速体验
|   ├── info.yaml              # 模型元数据,模型库主页的卡片通过从这个解析获得
|   ├── introduction_cn.ipynb  # 模型介绍及快速体验
├── tmp                        # PaddleX部署包临时文件
├── work                       # AI Studio工程文件夹
├── config.yaml                # 模型全部配置所在的文件,UAPI生成的。
├── get_example_data.sh        # 在开发者模式,命令行手动执行'sh get_example_data.sh'获取样例数据集
├── logger.webui.gradio.py     # 实现工具箱模式下底部的日志输出模块的gradio代码(日志输出的UI),请不要修改此文件,以免影响工具箱模式的正常运行。
├── main.ipynb                 # 可以不关注。PaddleX在AI Studio项目中展示的文件。
├── main.webui.gradio.py       # 工具箱主界面的UI程序,依赖gradio。
├── readme.md                  # PaddleX基础介绍
├── run_demo.py                # 在开发者模式,仅需指定数据集位置即可全流程运行;与工具箱模式无关
├── run_paddlex.py             # 工具箱模式的后台执行脚本,在开发者模式下也可以通过传入--exec_train等参数直接运行。
├── ui_config.yaml             # 记录工具箱模式下各个UI组件的值,工具箱模式下对各个UI组件的操作将实时落盘到这

最简单的使用方法是修改训练的数据集来源,改成自己本地的数据集来源

可以使用`run_paddlex.py`作为主要的开发脚本,通过修改`ui_config.yaml`和`config.yaml`两个文件中的配置项进行参数调整。**注意:1. 配置项优先级ui_config.yaml > config.yaml。2. 如果您想修改run_paddlex.py,请先复制备份,再基于备份文件修改,否则可能导致工具箱模式出错。**

下面是项目空间中您能看到的文件及其功能列表

| 文件夹/文件 | 内容及作用 |

| :-: | :-: |

| base | 控制工具箱模式的核心代码集合,如果对工具箱DIY有较深层次的需求,可以阅读这部分代码并自行改造。建议改造之前做好备份哦~ |

| data | 数据目录。get_example_data.sh/get_example_data.bat脚本将下载示例数据集至data/example_data。**特别注意❗:在AI Studio云端,本目录下的内容不会持久化存储,重新启动环境后将丢失新增的文件!如果有数据持久化需求,建议手动将数据集复制到外层目录!** |

| quick_start | 本目录下包含元数据文件`info.yaml`以及介绍文件`introduction_cn.ipynb`。 |

| tmp | 存放临时文件,一般不必关注 |

| work | AI Studio云端特有的目录,可以选择将工作文件放在此处统一管理 |

| run_paddlex.py | 使用UAPI执行数据校验、模型训练、评估测试等环节。这个脚本是工具箱模式的后台执行脚本,在开发者模式下也可以通过传入--exec_train等参数直接运行。不建议对该脚本进行修改,否则可能导致工具箱模式出错。|

| run_demo.py | 使用UAPI执行数据校验、模型训练、评估测试等环节。与工具箱模式无关,仅需指定数据集位置即可全流程运行。|

| main.webui.gradio.py | 工具箱模式的gradio服务启动入口。通过将dataset、train、evaluate、deploy等环节解耦,灵活地搭建前端gradio UI界面。您在必要时可以在开发者模式下修改此文件,当再次切换到工具箱模式时,然后到工具箱模式下点击“重新加载”,就可以启动新的gradio服务。|

| config.yaml | 当前模型的全量配置文件,也是UAPI封装的各个套件的底层实际使用的配置文件。如果您对各个套件本身比较熟悉的话,可以在开发者模式下直接修改这个配置文件进行开发。但是要注意,ui_config.yaml的优先级高于config.yaml。|

| ui_config.yaml | 记录工具箱模式下各个UI组件的值,工具箱模式下对各个UI组件的操作将实时落盘到这个配置文件中,这样在重新启动工具箱模式时,能加载之前修改过的配置项。本配置文件中的相关配置项不如config.yaml中全面,但是优先级比config.yaml高。|

| logger.webui.gradio.py | 实现工具箱模式下底部的日志输出模块的gradio代码,**请不要随意修改此文件,以免影响工具箱模式的正常运行❗**|

### PaddleDetection 在 VSCode 上的部署教程和配置方法 要在 Visual Studio Code (VSCode) 中成功部署 PaddleDetection,需要完成以下几个方面的准备工作: #### 1. 环境准备 确保已安装 Python 并配置好虚拟环境。推荐使用 `conda` 或者 `venv` 创建独立的开发环境[^1]。 ```bash # 使用 conda 创建虚拟环境 conda create -n paddle_env python=3.7 conda activate paddle_env # 或者使用 venv python -m venv paddle_env source paddle_env/bin/activate ``` #### 2. 安装依赖库 下载并克隆 PaddleDetection 的官方仓库,并按照其文档中的说明安装必要的依赖包。 ```bash git clone https://github.com/PaddlePaddle/PaddleDetection.git cd PaddleDetection pip install -r requirements.txt ``` 如果遇到 CUDA 版本兼容问题,可以参考官方文档调整对应的版本需求[^4]。 #### 3. 数据集准备与验证 在本地准备好用于训练的数据集,并将其转换为支持的格式(如 COCO 格式)。可以通过运行以下命令来验证数据集是否正确加载。 ```bash python tools/check_data.py --dataset_dir ./data/coco --image_set train ``` 此过程会读取指定路径下的标注文件以及图像列表,确认无误后再继续后续操作。 #### 4. 配置模型参数 编辑配置文件以适配自己的硬件资源情况及具体应用场景的需求。通常情况下,这些配置会被存储在一个 YAML 文件中,例如 `configs/mask_rcnn_r50_1x.yml`。 以下是部分常见选项解释: - **architecture**: 指定使用的检测框架名称。 - **pretrain_weights**: 提供预训练权重地址或者设置为空字符串表示随机初始化。 - **learning_rate**: 学习率调节策略及其超参设定。 示例代码片段展示如何修改默认的学习速率调度器: ```yaml LearningRate: base_lr: 0.02 schedulers: - !CosineAnnealingDecay {} ``` #### 5. 启动训练流程 利用 `run_paddlex.py` 脚本来启动完整的生命周期管理功能,包括但不限于数据增强处理、网络结构定义直至最终性能评测阶段。 ```bash python run_paddlex.py --config configs/mask_rcnn_r50_1x.yml \ --exec_mode=train \ --device=gpu ``` 注意这里传递给脚本的关键字参数决定了当前动作类别以及其他细粒度控制逻辑。 --- ### 注意事项 对于 Windows 用户而言,还需额外关注动态链接库(DLLs)的位置关系,类似于 ONNX Runtime 场景下提到的做法,即把缺失的核心组件拷贝至目标可执行程序所在的工作区根目录或是全局系统级共享区域。 另外值得注意的一点是,尽管提供了图形界面集成方案的可能性,但从稳定性角度出发并不鼓励随意改动核心业务模块内部实现细节。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Helloorld_11

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值