Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

PaddleX

🔍 简介

PaddleX 3.0 是基于飞桨框架构建的低代码开发工具,它集成了众多开箱即用的预训练模型,可以实现模型从训练到推理的全流程开发,支持国内外多款主流硬件,助力AI 开发者进行产业实践。

通用图像分类图像多标签分类通用目标检测通用实例分割
通用语义分割图像异常检测通用OCR通用表格识别
文本图像智能分析时序预测时序异常检测时序分类

🌟 特性

🎨 模型丰富一键调用:将覆盖文本图像智能分析、OCR、目标检测、时序预测等多个关键领域的 200+ 飞桨模型整合为 20 条模型产线,通过极简的 Python API 一键调用,快速体验模型效果。同时支持 20+ 单功能模块,方便开发者进行模型组合使用。

🚀 提高效率降低门槛:实现基于统一命令和图形界面的模型全流程开发,打造大小模型结合、大模型半监督学习和多模型融合的8 条特色模型产线,大幅度降低迭代模型的成本。

🌐 多种场景灵活部署:支持高性能推理服务化部署端侧部署等多种部署方式,确保不同应用场景下模型的高效运行和快速响应。

🔧 主流硬件高效支持:支持英伟达 GPU、昆仑芯、昇腾和寒武纪等多种主流硬件的无缝切换,确保高效运行。

📣 近期更新

🔥🔥《PP-DocLayout版面检测引擎》支持中英论文、研报、试卷、书籍、杂志、合同、报纸等类型文档图像的 23 类版面区域高精度识别与定位,mAP@0.5最高90.4%;提供高精度、均衡型、轻量级三档模型;基于50万数据进行模型知识蒸馏,增强泛化能力;优化伪标签质量,半监督学习技术提升精度;支持多模式后处理,灵活适配下游任务;基于PaddleX实现高性能推理与服务化部署;提供命令行微调工具,低代码门槛完成场景化数据迭代训练。2月27日(周四)19:00直播为您深度解析PP-DocLayout在部署方面的功能、优势与技巧,提供产业级实操项目手把手教学体验。报名链接:https://www.wjx.top/vm/eArkGEn.aspx?udsid=724504

🔥🔥《PP-ChatOCRv3思考能力新升级》支持基于标准OpenAI接口的大语言模型切换,方便调用热门模型;升级自定义提示词工程能力,KEY从单一关键词到涵盖问题描述、提取规则及少样本学习等多类,支持根据实际问题灵活选择;提供数据缓存加载方法并集成向量检索技术,有效避免频繁的视觉推理与建立索引库过程。2月20日(周四)19:00直播为您深度解析 PP-ChatOCRv3在部署方面的功能、优势与技巧。报名链接:https://www.wjx.top/vm/wFZcC0n.aspx?udsid=745777

🔥🔥 2025.2.14,PaddleX v3.0.0rc0 重磅升级。本次版本全面适配 PaddlePaddle 3.0rc0,核心升级如下:

  • 新增 12 条高价值产线,重磅推出自研 版面解析v2产线PP-ChatOCRv4-doc产线表格识别v2产线。此外新增了文档处理、旋转框检测、开放词汇检测/分割、视频分析、多语种语音识别、3D 等场景的产线。

  • 扩充 48 个前沿模型,包括重磅推出的 OCR 领域的版面区域检测模型 PP-DocLayout公式识别模型 PP-FormulaNet表格结构识别模型 SLANeXt文本识别模型 PP-OCRv4_server_rec_doc。CV 领域的 3D 检测、人体关键点、开放词汇检测/分割模型,以及语音识别领域的 Whisper 系列等模型。

  • 优化和升级模型和产线的推理 API,支持更多参数的配置,提升模型和产线推理的灵活性,详情

  • 多硬件支持扩展:新增燧原 GCU 支持(90+模型),昇腾 NPU/昆仑芯 XPU/寒武纪 MLU/海光 DCU 模型数量显著提升。

  • 全场景部署能力升级:

    • 高性能推理支持一键安装、Windows 系统及 220+ 模型,核心库 ultra-infer 开源;
    • 服务化部署新增高稳定性方案,支持动态配置优化。
  • 系统兼容性增强:适配 Windows 训练/推理,全面支持 Python 3.11/3.12。

🔥 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+ 模型开发全流程适配昇腾 910B39+ 模型开发全流程适配昆仑芯和寒武纪

🔥 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:待处理的输入文件(如图片)的本地路径、目录或 URL
  • device:使用的硬件设备及序号(例如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
👉 点击查看运行结果
{'res': {'input_path': 'general_ocr_002.png', 'page_index': None, 'model_settings': {'use_doc_preprocessor': False, 'use_textline_orientation': False}, 'doc_preprocessor_res': {'input_path': None, 'model_settings': {'use_doc_orientation_classify': True, 'use_doc_unwarping': False}, 'angle': 0},'dt_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'text_det_params': {'limit_side_len': 960, 'limit_type': 'max', 'thresh': 0.3, 'box_thresh': 0.6, 'unclip_ratio': 2.0}, 'text_type': 'general', 'textline_orientation_angles': [-1, ...], 'text_rec_score_thresh': 0.0, 'rec_texts': ['www.99*', ...], 'rec_scores': [0.8980069160461426, ...], 'rec_polys': [array([[ 3, 10],
[82, 10],
[82, 33],
[ 3, 33]], dtype=int16), ...], 'rec_boxes': array([[ 3, 10, 82, 33], ...], dtype=int16)}}

可视化结果如下:

alt text

其他产线的命令行使用,只需将 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的命令:

👉 更多产线的命令行使用
产线名称使用命令
通用图像分类paddlex --pipeline image_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --device gpu:0 --save_path ./output/
通用目标检测paddlex --pipeline object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_object_detection_002.png --threshold 0.5 --save_path ./output/ --device gpu:0
通用实例分割paddlex --pipeline instance_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_instance_segmentation_004.png --threshold 0.5 --save_path ./output --device gpu:0
通用语义分割paddlex --pipeline semantic_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/PaddleX3.0/application/semantic_segmentation/makassaridn-road_demo.png --target_size -1 --save_path ./output --device gpu:0
图像多标签分类paddlex --pipeline image_multilabel_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/general_image_classification_001.jpg --save_path ./output --device gpu:0
小目标检测paddlex --pipeline small_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/small_object_detection.jpg --threshold 0.5 --save_path ./output --device gpu:0
图像异常检测paddlex --pipeline anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/uad_grid.png --save_path ./output --device gpu:0
行人属性识别paddlex --pipeline pedestrian_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/pedestrian_attribute_002.jpg --save_path ./output/ --device gpu:0
车辆属性识别paddlex --pipeline vehicle_attribute_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/vehicle_attribute_002.jpg --save_path ./output/ --device gpu:0
3D多模态融合检测paddlex --pipeline 3d_bev_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/det_3d/demo_det_3d/nuscenes_demo_infer.tar --device gpu:0 --save_path ./output/
人体关键点检测paddlex --pipeline human_keypoint_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/keypoint_detection_001.jpg --det_threshold 0.5 --save_path ./output/ --device gpu:0
开放词汇检测paddlex --pipeline open_vocabulary_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_detection.jpg --prompt "bus . walking man . rearview mirror ." --thresholds "{'text_threshold': 0.25, 'box_threshold': 0.3}" --save_path ./output --device gpu:0
开放词汇分割paddlex --pipeline open_vocabulary_segmentation --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/open_vocabulary_segmentation.jpg --prompt_type box --prompt "[[112.9,118.4,513.8,382.1],[4.6,263.6,92.2,336.6],[592.4,260.9,607.2,294.2]]" --save_path ./output --device gpu:0
旋转目标检测paddlex --pipeline rotated_object_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/rotated_object_detection_001.png --threshold 0.5 --save_path ./output --device gpu:0
通用OCRpaddlex --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
文档图像预处理paddlex --pipeline doc_preprocessor --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/doc_test_rotated.jpg --use_doc_orientation_classify True --use_doc_unwarping True --save_path ./output --device gpu:0
通用表格识别paddlex --pipeline table_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用表格识别v2paddlex --pipeline table_recognition_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/table_recognition.jpg --save_path ./output --device gpu:0
通用版面解析paddlex --pipeline layout_parsing --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/demo_paper.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
通用版面解析v2paddlex --pipeline layout_parsing_v2 --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/layout_parsing_v2_demo.png --use_doc_orientation_classify False --use_doc_unwarping False --use_textline_orientation False --save_path ./output --device gpu:0
公式识别paddlex --pipeline formula_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/demo_image/general_formula_recognition.png --use_layout_detection True --use_doc_orientation_classify False --use_doc_unwarping False --layout_threshold 0.5 --layout_nms True --layout_unclip_ratio 1.0 --layout_merge_bboxes_mode large --save_path ./output --device gpu:0
印章文本识别paddlex --pipeline seal_recognition --input https://paddle-model-ecology.bj.bcebos.com/paddlex/imgs/demo_image/seal_text_det.png --use_doc_orientation_classify False --use_doc_unwarping False --device gpu:0 --save_path ./output
时序预测paddlex --pipeline ts_forecast --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_fc.csv --device gpu:0 --save_path ./output
时序异常检测paddlex --pipeline ts_anomaly_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_ad.csv --device gpu:0 --save_path ./output
时序分类paddlex --pipeline ts_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/ts/demo_ts/ts_cls.csv --device gpu:0 --save_path ./output
多语种语音识别paddlex --pipeline multilingual_speech_recognition --input https://paddlespeech.bj.bcebos.com/PaddleAudio/zh.wav --save_path ./output --device gpu:0
通用视频分类paddlex --pipeline video_classification --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/general_video_classification_001.mp4 --topk 5 --save_path ./output --device gpu:0
通用视频检测paddlex --pipeline video_detection --input https://paddle-model-ecology.bj.bcebos.com/paddlex/videos/demo_video/HorseRiding.avi --device gpu:0 --save_path ./output

📝 Python 脚本使用

几行代码即可完成产线的快速推理,统一的 Python 脚本格式如下:

frompaddleximportcreate_pipelinepipeline=create_pipeline(pipeline=[产线名称])
output=pipeline.predict([输入图片名称])
forresinoutput:
res.print()
res.save_to_img("./output/")
res.save_to_json("./output/")

执行了如下几个步骤:

  • create_pipeline() 实例化产线对象
  • 传入图片并调用产线对象的 predict() 方法进行推理预测
  • 对预测结果进行处理

其他产线的 Python 脚本使用,只需将 create_pipeline() 方法的 pipeline 参数调整为相应产线的名称,参数调整为对应的产线的参数即可。下面列出了每个产线对应的参数名称及详细的使用解释:

👉 更多产线的Python脚本使用
产线名称对应参数详细说明
文档场景信息抽取v4PP-ChatOCRv4-doc文档场景信息抽取v4产线Python脚本使用说明
文档场景信息抽取v3PP-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脚本使用说明
3D多模态融合检测3d_bev_detection3D多模态融合检测产线Python脚本使用说明
人体关键点检测human_keypoint_detection人体关键点检测产线Python脚本使用说明
开放词汇检测open_vocabulary_detection开放词汇检测产线Python脚本使用说明
开放词汇分割open_vocabulary_segmentation开放词汇分割产线Python脚本使用说明
旋转目标检测rotated_object_detection旋转目标检测产线Python脚本使用说明
通用OCROCR通用OCR产线Python脚本使用说明
文档图像预处理doc_preprocessor文档图像预处理产线Python脚本使用说明
通用表格识别table_recognition通用表格识别产线Python脚本使用说明
通用表格识别v2table_recognition_v2通用表格识别v2产线Python脚本使用说明
通用版面解析layout_parsing通用版面解析产线Python脚本使用说明
通用版面解析v2layout_parsing_v2通用版面解析v2产线Python脚本使用说明
公式识别formula_recognition公式识别产线Python脚本使用说明
印章文本识别seal_recognition印章文本识别产线Python脚本使用说明
时序预测ts_forecast时序预测产线Python脚本使用说明
时序异常检测ts_anomaly_detection时序异常检测产线Python脚本使用说明
时序分类ts_classification时序分类产线Python脚本使用说明
多语种语音识别multilingual_speech_recognition多语种语音识别产线Python脚本使用说明
通用视频分类video_classification通用视频分类产线Python脚本使用说明
通用视频检测video_detection通用视频检测产线Python脚本使用说明

📖 文档

⬇️ 安装
🔥 产线使用
⚙️ 单功能模块使用
🏗️ 模型产线部署
🖥️ 多硬件使用
📝 产业实践教程&范例

🤔 FAQ

关于我们项目的一些常见问题解答,请参考FAQ。如果您的问题没有得到解答,请随时在 Issues 中提出

💬 Discussion

我们非常欢迎并鼓励社区成员在 Discussions 板块中提出问题、分享想法和反馈。无论您是想要报告一个 bug、讨论一个功能请求、寻求帮助还是仅仅想要了解项目的最新动态,这里都是一个绝佳的平台。

📄 许可证书

本项目的发布受 Apache 2.0 license 许可认证。

About

All-in-One Development Tool based on PaddlePaddle(飞桨低代码开发工具)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages