说明:
- 飞桨低代码开发工具PaddleX,依托于PaddleSeg的先进技术,支持了图像分割领域的低代码全流程开发能力。通过低代码全流程开发,可实现简单且高效的模型使用、组合与定制。
- PaddleX 致力于实现产线级别的模型训练、推理与部署。模型产线是指一系列预定义好的、针对特定AI任务的开发流程,其中包含能够独立完成某类任务的单模型(单功能模块)组合。本文档提供图像分割相关产线的快速使用,单功能模块的快速使用以及更多功能请参考PaddleSeg低代码全流程开发中相关章节。
❗安装PaddleX前请先确保您有基础的Python运行环境。(注:当前支持Python 3.8 ~ Python 3.10下运行,更多Python版本适配中)。
- 安装PaddlePaddle
# cpu
python -m pip install paddlepaddle==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
# gpu,该命令仅适用于 CUDA 版本为 11.8 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# gpu,该命令仅适用于 CUDA 版本为 12.3 的机器环境
python -m pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/
❗ 更多飞桨 Wheel 版本请参考飞桨官网。
- 安装PaddleX
pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0b1-py3-none-any.whl
❗ 更多安装方式参考PaddleX安装教程
一行命令即可快速体验产线效果,统一的命令行格式为:
paddlex --pipeline [产线名称] --input [输入图片] --device [运行设备]
只需指定三个参数:
pipeline
:产线名称input
:待处理的输入图片的本地路径或URLdevice
: 使用的GPU序号(例如gpu:0
表示使用第0块GPU),也可选择使用CPU(cpu
)
以通用语义分割产线为例:
paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --device gpu:0
运行后,得到的结果为:
{'input_path': '/root/.paddlex/predict_input/makassaridn-road_demo.png', 'pred': '...'}
其他产线的命令行使用,只需将pipeline
参数调整为相应产线的名称。下面列出了每个产线对应的命令:
产线名称 | 使用命令 |
---|---|
通用语义分割 | paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --device gpu:0 |
图像异常检测 | paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --device gpu:0 |
使用 测试文件,并将 predict()
的参数替换为本地路径,几行代码即可完成产线的快速推理,图像异常检测的Python示例代码如下:
from paddlex import create_pipeline
pipeline = create_pipeline(pipeline="anomaly_detection")
output = pipeline.predict("uad_grid.png")
for res in output:
res.print() ## 打印预测的结构化输出
res.save_to_img("./output/") ## 保存结果可视化图像
res.save_to_json("./output/") ## 保存预测的结构化输出
执行了如下几个步骤:
create_pipeline()
实例化产线对象- 传入图片并调用产线对象的
predict
方法进行推理预测 - 对预测结果进行处理
运行后,得到的结果为:
{'input_path': 'uad_grid.png'}
其他产线的Python脚本使用,只需将create_pipeline()
方法的pipeline
参数调整为相应产线的名称。下面列出了每个产线对应的参数名称及详细的使用解释:
产线名称 | 对应参数 | 详细说明 |
---|---|---|
通用语义分割 | semantic_segmentation |
通用语义分割产线Python脚本使用说明 |
图像异常检测 | anomaly_detection |
图像异常检测产线Python脚本使用说明 |