https://github.com/PaddlePaddle/PaddleX.git
|
|
há 9 meses atrás | |
|---|---|---|
| .github | há 9 meses atrás | |
| .precommit | há 11 meses atrás | |
| api_examples | há 9 meses atrás | |
| docs | há 9 meses atrás | |
| libs | há 9 meses atrás | |
| overrides | há 1 ano atrás | |
| paddlex | há 9 meses atrás | |
| .gitignore | há 1 ano atrás | |
| .pre-commit-config.yaml | há 1 ano atrás | |
| .style.yapf | há 1 ano atrás | |
| LICENSE | há 1 ano atrás | |
| README.md | há 9 meses atrás | |
| README_en.md | há 9 meses atrás | |
| install_pdx.py | há 1 ano atrás | |
| main.py | há 1 ano atrás | |
| mkdocs.yml | há 9 meses atrás | |
| requirements.txt | há 9 meses atrás | |
| setup.py | há 10 meses atrás |
PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。
| 通用图像分类 | 图像多标签分类 | 通用目标检测 | 通用实例分割 |
|---|---|---|---|
![]() |
|||
| 通用语义分割 | 图像异常检测 | 通用OCR | 通用表格识别 |
![]() |
|||
| 文本图像智能分析 | 时序预测 | 时序异常检测 | 时序分类 |
🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。
🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。
🌐 多种场景灵活部署:支持高性能推理、服务化部署和端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。
🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。
🔥🔥 2024.11.15,PaddleX 3.0 Beta2 开源版正式发布,全面适配 PaddlePaddle 3.0b2 版本。新增通用图像识别、人脸识别、车辆属性识别和行人属性识别产线,同时新增 42 个模型开发全流程适配昇腾 910B,并全面支持GitHub 站点文档。
🔥🔥 2024.9.30,PaddleX 3.0 Beta1 开源版正式发布,提供 200+ 模型 通过极简的 Python API 一键调用;实现基于统一命令的模型全流程开发,并开源 PP-ChatOCRv3 特色模型产线基础能力;支持 100+ 模型高性能推理和服务化部署(持续迭代中),4条模型产线8个重点视觉模型端侧部署;100+ 模型开发全流程适配昇腾 910B,39+ 模型开发全流程适配昆仑芯和寒武纪。
🔥 2024.6.27,PaddleX 3.0 Beta 开源版正式发布,支持以低代码的方式在本地端使用多种主流硬件进行产线和模型开发。
🔥 2024.3.25,PaddleX 3.0 云端发布,支持在 AI Studio 星河社区 以零代码的方式【创建产线】使用。
## 🔠 模型产线说明
PaddleX 致力于实现产线级别的模型训练、推理与部署。模型产线是指一系列预定义好的、针对特定AI任务的开发流程,其中包含能够独立完成某类任务的单模型(单功能模块)组合。
## 📊 能力支持
PaddleX的各个产线均支持本地快速推理,部分模型支持在AI Studio星河社区上进行在线体验,您可以快速体验各个产线的预训练模型效果,如果您对产线的预训练模型效果满意,可以直接对产线进行高性能推理/服务化部署/端侧部署,如果不满意,您也可以使用产线的二次开发能力,提升效果。完整的产线开发流程请参考PaddleX产线使用概览或各产线使用教程。
此外,PaddleX在AI Studio星河社区为开发者提供了基于云端图形化开发界面的全流程开发工具, 点击【创建产线】,选择对应的任务场景和模型产线,就可以开启全流程开发。详细请参考教程《零门槛开发产业级AI模型》
| 模型产线 | 在线体验 | 快速推理 | 高性能推理 | 服务化部署 | 端侧部署 | 二次开发 | 星河零代码产线 |
|---|---|---|---|---|---|---|---|
| 通用OCR | 链接 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 文档场景信息抽取v3 | 链接 | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
| 通用表格识别 | 链接 | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
| 通用目标检测 | 链接 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 通用实例分割 | 链接 | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
| 通用图像分类 | 链接 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 通用语义分割 | 链接 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 时序预测 | 链接 | ✅ | 🚧 | ✅ | 🚧 | ✅ | ✅ |
| 时序异常检测 | 链接 | ✅ | 🚧 | ✅ | 🚧 | ✅ | ✅ |
| 时序分类 | 链接 | ✅ | 🚧 | ✅ | 🚧 | ✅ | ✅ |
| 小目标检测 | 链接 | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
| 图像多标签分类 | 链接 | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
| 图像异常检测 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 人体关键点检测 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 开放词汇检测 | 🚧 | ✅ | ✅ | ✅ | 🚧 | 🚧 | 🚧 |
| 开放词汇分割 | 🚧 | ✅ | ✅ | ✅ | 🚧 | 🚧 | 🚧 |
| 旋转目标检测 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 3D多模态融合检测 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 通用表格识别v2 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 通用版面解析 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 通用版面解析v2 | 🚧 | ✅ | ✅ | ✅ | 🚧 | 🚧 | 🚧 |
| 公式识别 | 链接 | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
| 印章文本识别 | 链接 | ✅ | ✅ | ✅ | 🚧 | ✅ | ✅ |
| 文档图像预处理 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 通用图像识别 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 行人属性识别 | 链接 | ✅ | 🚧 | ✅ | 🚧 | ✅ | ✅ |
| 车辆属性识别 | 链接 | ✅ | 🚧 | ✅ | 🚧 | ✅ | ✅ |
| 人脸识别 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 多语种语音识别 | 🚧 | ✅ | ✅ | ✅ | 🚧 | 🚧 | 🚧 |
| 通用视频分类 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
| 通用视频检测 | 🚧 | ✅ | ✅ | ✅ | 🚧 | ✅ | 🚧 |
❗注:以上功能均基于 GPU/CPU 实现。PaddleX 还可在昆仑芯、昇腾、寒武纪和海光等主流硬件上进行快速推理和二次开发。下表详细列出了模型产线的支持情况,具体支持的模型列表请参阅模型列表(昆仑芯XPU)/模型列表(昇腾NPU)/模型列表(寒武纪MLU)/模型列表(海光DCU)。我们正在适配更多的模型,并在主流硬件上推动高性能和服务化部署的实施。
🔥🔥 国产化硬件能力支持
| 模型产线 | 昇腾 910B | 昆仑芯 R200/R300 | 寒武纪 MLU370X8 | 海光 Z100/K100AI |
|---|---|---|---|---|
| 通用OCR | ✅ | ✅ | ✅ | ✅ |
| 通用表格识别 | ✅ | 🚧 | 🚧 | 🚧 |
| 通用目标检测 | ✅ | ✅ | ✅ | ✅ |
| 通用实例分割 | ✅ | 🚧 | ✅ | 🚧 |
| 通用图像分类 | ✅ | ✅ | ✅ | ✅ |
| 通用语义分割 | ✅ | ✅ | ✅ | ✅ |
| 时序预测 | ✅ | ✅ | ✅ | ✅ |
| 时序异常检测 | ✅ | 🚧 | 🚧 | 🚧 |
| 时序分类 | ✅ | 🚧 | 🚧 | 🚧 |
| 图像多标签分类 | ✅ | 🚧 | 🚧 | ✅ |
| 行人属性识别 | ✅ | 🚧 | 🚧 | 🚧 |
| 车辆属性识别 | ✅ | 🚧 | 🚧 | 🚧 |
| 通用图像识别 | ✅ | 🚧 | ✅ | ✅ |
| 印章文本识别 | ✅ | 🚧 | 🚧 | 🚧 |
| 图像异常检测 | ✅ | ✅ | ✅ | ✅ |
| 人脸识别 | ✅ | ✅ | ✅ | ✅ |
❗在安装 PaddleX 之前,请确保您已具备基本的 Python 运行环境(注:目前支持 Python 3.8 至 Python 3.12)。PaddleX 3.0-rc0 版本依赖的 PaddlePaddle 版本为 3.0.0rc0。
安装 PaddlePaddle
# CPU 版本
python -m pip install paddlepaddle==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
# GPU 版本,需显卡驱动程序版本 ≥450.80.02(Linux)或 ≥452.39(Windows)
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu118/
# GPU 版本,需显卡驱动程序版本 ≥545.23.06(Linux)或 ≥545.84(Windows)
python -m pip install paddlepaddle-gpu==3.0.0rc0 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/
❗无需关注物理机上的 CUDA 版本,只需关注显卡驱动程序版本。更多飞桨 Wheel 版本信息,请参考飞桨官网。
安装PaddleX
pip install https://paddle-model-ecology.bj.bcebos.com/paddlex/whl/paddlex-3.0.0rc0-py3-none-any.whl
❗ 更多安装方式参考 PaddleX 安装教程
一行命令即可快速体验产线效果,统一的命令行格式为:
paddlex --pipeline [产线名称] --input [输入图片] --device [运行设备]
PaddleX的每一条产线对应特定的参数,您可以在各自的产线文档中查看具体的参数说明。每条产线需指定必要的三个参数:
pipeline:产线名称或产线配置文件input:待处理的输入文件(如图片)的本地路径、目录或 URLdevice:使用的硬件设备及序号(例如gpu:0表示使用第 0 块 GPU),也可选择使用 NPU(npu:0)、 XPU(xpu:0)、CPU(cpu)等。以通用 OCR 产线为例:
paddlex --pipeline OCR \
--input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_ocr_002.png \
--use_doc_orientation_classify False \
--use_doc_unwarping False \
--use_textline_orientation False \
--save_path ./output \
--device gpu:0
其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:
几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:
from paddlex import create_pipeline
pipeline = create_pipeline(pipeline=[产线名称])
output = pipeline.predict([输入图片名称])
for res in output:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")
执行了如下几个步骤:
create_pipeline() 实例化产线对象predict() 方法进行推理预测其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:
👉 更多产线的Python脚本使用
| 产线名称 | 对应参数 | 详细说明 |
|---|---|---|
| 文档场景信息抽取v3 | PP-ChatOCRv3-doc |
文档场景信息抽取v3产线Python脚本使用说明 |
| 通用图像分类 | image_classification |
通用图像分类产线Python脚本使用说明 |
| 通用目标检测 | object_detection |
通用目标检测产线Python脚本使用说明 |
| 通用实例分割 | instance_segmentation |
通用实例分割产线Python脚本使用说明 |
| 通用语义分割 | semantic_segmentation |
通用语义分割产线Python脚本使用说明 |
| 图像多标签分类 | multi_label_image_classification |
图像多标签分类产线Python脚本使用说明 |
| 小目标检测 | small_object_detection |
小目标检测产线Python脚本使用说明 |
| 图像异常检测 | anomaly_detection |
图像异常检测产线Python脚本使用说明 |
| 通用图像识别 | PP-ShiTuV2 |
通用图像识别Python脚本使用说明 |
| 人脸识别 | face_recognition |
人脸识别Python脚本使用说明 |
| 车辆属性识别 | vehicle_attribute_recognition |
车辆属性识别产线Python脚本使用说明 |
| 行人属性识别 | pedestrian_attribute_recognition |
行人属性识别产线Python脚本使用说明 |
| 通用OCR | OCR |
通用OCR产线Python脚本使用说明 |
| 通用表格识别 | table_recognition |
通用表格识别产线Python脚本使用说明 |
| 通用版面解析 | layout_parsing |
通用版面解析产线Python脚本使用说明 |
| 公式识别 | formula_recognition |
公式识别产线Python脚本使用说明 |
| 印章文本识别 | seal_recognition |
印章文本识别产线Python脚本使用说明 |
| 时序预测 | ts_fc |
时序预测产线Python脚本使用说明 |
| 时序异常检测 | ts_ad |
时序异常检测产线Python脚本使用说明 |
| 时序分类 | ts_cls |
时序分类产线Python脚本使用说明 |
🔍 OCR
🎥 计算机视觉
⏱️ 时序分析
🎤 语音识别
🎥 视频识别
🔧 相关说明文件
🏞️ 图像特征
🎯 目标检测
🌐 开放词汇目标检测
🎯 关键点检测
🖼️ 图像分割
🌐 开放词汇分割
⏱️ 时序分析
📦 3D
🎤 语音识别
🎥 视频识别
📄 相关说明文件
关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出
我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。
本项目的发布受 Apache 2.0 license 许可认证。