PaddleHub 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
PaddleHub 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
PaddleHub 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 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 指数为
超过 的项目

评论

点击加入讨论🔥(3)
2020/12/07 12:56

PaddleHub v2.0.0-beta1 已经发布,深度学习模型开发工具

PaddleHub v2.0.0-beta1 已经发布,此版本更新内容包括: BERT、ERNIE、RoBERTa等Transformer类模型升级至动态图,增加文本分类的Fine-Tune能力 新增自动数据增强能力Auto Augment,能高效地搜索适合数据集的数据增强策略组合。 支持搜索算法: PBA 支持任务: 图像分类、物体检测(待开放) 分布式自动数据增强搜索服务可以试用BML全功能AI开发平台 修复部分已知问题 详情查看:https://gitee.com/paddlepaddle/PaddleHub/releases...

0
4
发表于AI & 大数据专区
2019/07/08 21:44

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

百度飞桨(PaddlePaddle)核心框架Paddle Fluid v1.5已经发布,而作为其关键工具,用来迁移学习的PaddleHub也进行了全面更新,正式发布了1.0版本。 全新的PaddleHub模型和任务更加丰富,为用户提供了覆盖文本、图像和视频三大领域八大任务的40+预训练模型,同时还在飞桨官网上开辟了PaddleHub的网页。 关于 PaddleHub 的详细介绍请看 https://www.oschina.net/p/paddlehub...

1
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
3 评论
88 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部