PaddleHub 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
PaddleHub 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache
开发语言: Python 查看源码 »
操作系统: 跨平台
开发厂商: 百度
收录时间: 2019-07-08
提 交 者: 红薯

PaddleHub是一个深度学习模型开发工具。它基于飞桨领先的核心框架,精选效果优秀的算法,提供了百亿级大数据训练的预训练模型,方便用户不用花费大量精力从头开始训练一个模型。PaddleHub可以便捷地获取这些预训练模型,完成模型的管理和一键预测。

## CPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/cpu paddlepaddle

## GPU版本安装命令
pip install -f https://paddlepaddle.org.cn/pip/oschina/gpu paddlepaddle-gpu

配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用。

PaddleHub有什么特色

1、 通过PaddleHub,开发者可以便捷地获取飞桨生态下的所有预训练模型,涵盖了图像分类、目标检测、词法分析、语义模型、情感分析、语言模型、视频分类、图像生成八类主流模型40余个。

PaddleHub 1.0正式发布:一键模型加载,十行代码完成迁移学习

 

 图1 PaddleHub提供了40+官方预训练模型

2、PaddleHub引入了模型即软件的概念,通过Python API或者命令行工具,一键完成预训练模型地预测。此外还借鉴了Anaconda和pip软件包管理的理念设计了一套命令行接口。

深度学习时代,模型发展的趋势会逐渐向软件工程靠拢;未来模型可以当作一个可执行程序,一键预测;也可以是第三方库,通过模型插拔的方式提高开发者的开发效率。

同时模型会有版本的概念,通过不断迭代升级的方式提升我们模型的效果。通过命令行工具,可以方便快捷的完成模型的搜索、下载、安装、预测等功能,对应的关键的命令分别是search,download,install,run等。

如以下示例,在安装完成飞桨和PaddleHub以后(具体安装方法见后文示例),使用词法分析模型LAC,可以一键实现分词。

$ hub run lac --input_text "今天是个好日子"
[{'word': ['今天', '是', '个', '好日子'], 'tag': ['TIME', 'v', 'q', 'n']}]

再如以下示例所示,是一个目标检测的例子,通过hub run 调用不同的目标检测模型,一行即可完成预测,同时也可以快速体验哪个模型能更符合开发的需求。

$ hub run yolov3_coco2017 --input_path test.jpg 
$ hub run faster_rcnn_coco2017 --input_path test.jpg

PaddleHub 1.0正式发布:一键模型加载,十行代码完成迁移学习

 

 图2 PaddleHub一键完成预训练模型地预测

3、通过PaddleHub Fine-tune API,结合少量代码即可完成大规模预训练模型的迁移学习。下面一节我们也会全面介绍PaddleHub的API。

PaddleHub API全景

PaddleHub API的全景图如图3所示。

为了更好帮助用户更好的应用预训练模型,PaddleHub对Fine-tune做了6个层次的抽象。

PaddleHub 1.0正式发布:一键模型加载,十行代码完成迁移学习

 

 图3 PaddleHub Fine-tune API全景

  • 数据集Dataset:PaddleHub提供多种NLP任务和CV任务的数据集,用户也可以在自定义数据集上完成Fine-tune。
  • 数据预处理Reader:PaddleHub的数据预处理模块Reader对常见的NLP和CV任务进行了抽象。
  • 预训练模型Module:Module代表了一个预训练模型。
  • 优化策略Strategy:在PaddleHub中,Strategy类封装了一系列适用于迁移学习的Fine-tune策略。Strategy包含了对预训练参数使用什么学习率变化策略,使用哪种类型的优化器,使用什么类型的正则化等。
  • 运行配置 RunConfig:在PaddleHub中,RunConfig代表了在对Task进行Fine-tune时的运行配置。包括运行的epoch次数、batch的大小、是否使用GPU训练等。
  • 迁移任务Task:PaddleHub预置了常见任务的Task。Task代表了一个Fine-tune的任务。任务中包含了执行该任务相关的Program、数据Reader、运行配置等内容。每种Task都有自己特有的应用场景以及提供了对应的度量指标,用于适应用户的不同需求。预置的任务类型包括图像分类、文本分类、序列分类和多标签分类各类任务。

PaddleHub还支持用户可以通过继承BasicTask来实现自己的任务。

PaddleHub封装了finetune、eval、finetune_and_eval、predict等直观的基础接口,让开发者更方便完成模型的迁移和应用。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

PaddleHub 的相关博客

paddlehub基础介绍

欢迎使用PaddleHub! PaddleHub是飞桨预训练模型管理和迁移学习工具,通过PaddleHub开发者可以使用高质量的预训练模型结合Fin...

PaddleHub | LDA话题分析

paddlehub介绍 paddlepaddle是百度的开源深度学习框架(源于产业实践的开源深度学习平台, 飞桨致力于让深度学习技术的创新与应...

PaddleHub人脸检测示例

本示例利用Ultra-Light-Fast-Generic-Face-Detector-1MB模型完成人脸检测。该模型是针对边缘计算设备或低算力设备(如用ARM推理...

PaddleHub 肺炎CT影像分析

肺炎CT影像分析模型(Pneumonia-CT-LKM-PP)可以高效地完成对患者CT影像的病灶检测识别、病灶轮廓勾画,通过一定的后处理代码...

PaddleHub Serving模型一键服务部署

简介 为什么使用一键服务部署 使用PaddleHub能够快速进行模型预测,但开发者常面临本地预测过程迁移线上的需求。无论是对外开...

PaddleHub适配自定义数据完成finetune

PaddleHub适配自定义数据完成finetune Steffy-zxf edited this page 27 days ago · 9 revisions 训练一个新任务时,如果从零...

PaddleHub口罩检测助力抗击肺炎

防控疫情,众志成城。人工智能技术正被应用到疫情防控中来。 “控制传染源、切断传播途径和排查易感人群”是打赢抗疫的三种手...

PaddleHub 超参优化(AutoDL Finetuner)

一、简介 目前深度学习模型参数可分类两类:模型参数 (Model Parameters) 与 超参数 (Hyper Parameters),前者是模型通过大量...

PaddleHub提供的ERNIE进行文本分类

可直接在百度的aistudio中进行实验: 地址:https://aistudio.baidu.com/aistudio/projectdetail/305830 ERNIE 通过建模海量数...

基于飞浆Paddlehub的口罩检测

这是记录 《深度学习7日入门-CV疫情特辑》的一篇文章。 最早接触百度的飞浆(PaddlePaddle)是因为 口罩检测 的文章,年初的口...

评论 (3)

加载中
安装用了一下,命令工具用不了。还不知道那个环节出错
2019/07/18 09:09
回复
举报
具体错误是什么呢?可以给PaddleHub提issue https://github.com/paddlepaddle/paddlehub/issues
2019/11/15 11:22
回复
举报
🐂
2019/07/09 11:18
回复
举报
更多评论
3 评论
85 收藏
分享
返回顶部
顶部