Awesome Open Source
Awesome Open Source

PaddleX

飞桨全流程开发工具,集飞桨核心框架、模型库、工具及组件等深度学习开发所需全部能力于一身,打通深度学习开发全流程,并提供简明易懂的Python API,方便用户根据实际生产需求进行直接调用或二次开发,为开发者提供飞桨全流程开发的最佳实践。

为了帮助开发者更好的了解飞桨的开发步骤以及所涉及的模块组件,进一步提升项目开发效率,我们还为开发者提供了基于PaddleX实现的图形化开发界即可面示例,用户可以基于该界面示例进行改造,开发符合自己习惯的操作界面。开发者可以根据实际业务需求,直接调用、改造PaddleX后端技术内核来开发项目,也可使用图形化开发界面快速体验飞桨模型开发全流程。

我们诚挚地邀请您前往 官网下载试用PaddleX可视化前端,并提出您的宝贵意见或贡献项目。此外PaddleX后台代码已经在develop分支开源,可独立安装使用,推荐对模型训练有更强灵活需求的用户使用。

目录

产品特性

  1. 全流程打通

将深度学习开发从数据接入、模型训练、参数调优、模型评估、预测部署全流程打通,并提供可视化的使用界面,省去了对各环节间串连的代码开发与脚本调用,极大地提升了开发效率。

  1. 开源技术内核

集成PaddleCV领先的视觉算法和面向任务的开发套件、预训练模型应用工具PaddleHub、训练可视化工具VisualDL、模型压缩工具库PaddleSlim等技术能力于一身,并提供简明易懂的Python API,完全开源开放,易于集成和二次开发,为您的业务实践全程助力。

  1. 本地一键安装

高度兼容Windows、Mac、Linux系统,同时支持NVIDIA GPU加速深度学习训练。本地开发、保证数据安全,高度符合产业应用的实际需求。

  1. 教程与服务

从数据集准备到上线部署,为您提供业务开发全流程的文档说明及技术服务。开发者可以通过QQ群、微信群、GitHub社区等多种形式与飞桨团队及同业合作伙伴交流沟通。

PaddleX 可视化前端

第一步:下载可视化前端

您需要前往 官网填写基本信息后下载试用PaddleX可视化前端

第二步:准备数据

在开始模型训练前,您需要根据不同的任务类型,将数据标注为相应的格式。目前PaddleX支持【图像分类】、【目标检测】、【语义分割】、【实例分割】四种任务类型。不同类型任务的数据处理方式可查看数据标注方式

第三步:导入我的数据集

①数据标注完成后,您需要根据不同的任务,将数据和标注文件,按照客户端提示更名并保存到正确的文件中。

②在客户端新建数据集,选择与数据集匹配的任务类型,并选择数据集对应的路径,将数据集导入。

00数据集导入说明

③选定导入数据集后,客户端会自动校验数据及标注文件是否合规,校验成功后,您可根据实际需求,将数据集按比例划分为训练集、验证集、测试集。

④您可在「数据分析」模块按规则预览您标注的数据集,双击单张图片可放大查看。

01数据切分及预览

第四步:创建项目

① 在完成数据导入后,您可以点击「新建项目」创建一个项目。

② 您可根据实际任务需求选择项目的任务类型,需要注意项目所采用的数据集也带有任务类型属性,两者需要进行匹配。

02创建项目

第五步:项目开发

数据选择:项目创建完成后,您需要选择已载入客户端并校验后的数据集,并点击下一步,进入参数配置页面。

03选择数据集

参数配置:主要分为模型参数训练参数优化策略三部分。您可根据实际需求选择模型结构及对应的训练参数、优化策略,使得任务效果最佳。

04参数配置-2

参数配置完成后,点击启动训练,模型开始训练并进行效果评估。

训练可视化

在训练过程中,您可通过VisualDL查看模型训练过程时的参数变化、日志详情,及当前最优的训练集和验证集训练指标。模型在训练过程中通过点击"终止训练"随时终止训练过程。

05训练可视化 06VisualDL

模型训练结束后,点击”下一步“,进入模型评估页面。

模型评估

在模型评估页面,您可将训练后的模型应用在切分时留出的「验证数据集」以测试模型在验证集上的效果。评估方法包括混淆矩阵、精度、召回率等。在这个页面,您也可以直接查看模型在测试数据集上的预测效果。

根据评估结果,您可决定进入模型发布页面,或返回先前步骤调整参数配置重新进行训练。

07模型评估

模型发布

当模型效果满意后,您可根据实际的生产环境需求,选择将模型发布为需要的版本。

08模型发布

PaddleX 技术内核

将于2020年5月下旬全面开源,敬请期待

FAQ

  1. 为什么我的数据集没办法切分?

    如果您的数据集已经被一个或多个项目引用,数据集将无法切分,您可以额外新建一个数据集,并引用同一批数据,再选择不同的切分比例。

  2. 任务和项目的区别是什么?

    一个项目可以包含多条任务,一个项目拥有唯一的数据集,但采用不同的参数配置启动训练会创建多条任务,方便您对比采用不同参数配置的训练效果,并管理多个任务。

  3. 为什么训练速度这么慢?

    PaddleX完全采用您本地的硬件进行计算,深度学习任务确实对算力的要求比较高,为了使您能快速体验应用PaddleX进行开发,我们适配了CPU硬件,但强烈建议您使用GPU以提升训练速度和开发体验。

  4. 我可以在服务器或云平台上部署PaddleX么?

    当前PaddleX 可视化前端是一个适配本地单机安装的Client,无法在服务器上直接进行部署,您可以直接使用PaddleX Core后端技术内核,或采用飞桨核心框架进行服务器上的部署。如果您希望使用公有算力,强烈建议您尝试飞桨产品系列中的 EasyDLAI Studio进行开发。

  5. 为什么我的安装总是报错?

    PaddleX的安装包中打包了PaddlePaddle全流程开发所需的所有依赖,理论上不需要您额外安装CUDA等ToolKit (如使用NVIDIA GPU), 但对操作系统版本、处理器架构、驱动版本等有一定要求,如安装发生错误,建议您先检查开发环境是否与PaddleX推荐环境匹配。

    这里我们推荐您在以下环境中安装使用PaddleX:

    • 操作系统:
      • Windows 7/8/10(推荐Windows 10);
      • Mac OS 10.13+ ;
      • Ubuntu 18.04+;

    注:处理器需为x86_64架构,支持 MKL

    • 训练硬件:

      • GPU(Windows及Linux系统):

        推荐使用支持CUDA的NVIDIA显卡,例如:GTX 1070+以上性能的显卡;

        Windows系统X86_64驱动版本>=411.31;

        Linux系统X86_64驱动版本>=410.48;

        显存8G以上;

      • CPU

        PaddleX 当前支持您用本地CPU进行训练,但推荐使用GPU以获得更好的开发体验。

      • 内存 :建议8G以上

      • 硬盘空间 :建议SSD剩余空间1T以上(非必须)

    注:PaddleX 在 Windows及Mac系统只支持单卡模式。Windows暂时不支持NCCL。

如果您有更多问题或建议,欢迎以issue的形式,或加入PaddleX官方QQ群(1045148026)直接反馈您的意见及建议

09qq群二维码
Related Awesome Lists
Top Programming Languages

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (860,459
Deployment (56,850
Deep Learning (38,499
Artificial Intelligence (19,636
Neural Network (15,923
Classification (13,397
Gpu (9,439
Cpu (8,583
Segmentation (8,354
X86 (4,473
Deep Neural Networks (3,997
Nvidia (3,944
Resnet (3,230
Faq (2,182
Unet (1,274
Mobilenet (1,155
Jetson (1,050
Industry (62