Skip to content

Latest commit

 

History

History
116 lines (75 loc) · 4.35 KB

cmdintro.md

File metadata and controls

116 lines (75 loc) · 4.35 KB

PaddleHub命令行工具

PaddleHub为预训练模型的管理和使用提供了命令行工具。

PaddleHub支持修改预训练模型存放路径:

  • 如已设置${HUB_HOME}环境变量,则预训练模型、配置等文件都存放在${HUB_HOME}指示的路径下
  • 如未设置${HUB_HOME}环境变量,则存放在$HOME指示的路径下

目前命令行支持以下11个命令:

hub install

用于将Module安装到本地,默认安装在${HUB_HOME}/.paddlehub/modules目录下,当一个Module安装到本地后,用户可以通过其他命令操作该Module(例如,使用该Module进行预测),也可以使用PaddleHub提供的python API,将Module应用到自己的任务中,实现迁移学习

hub uninstall

用于卸载本地Module

hub show

用于查看本地已安装Module的属性或者指定目录下确定的Module的属性,包括其名字、版本、描述、作者等信息

hub download

用于下载PaddleHub提供的Module

hub search

通过关键字在服务端检索匹配的Module,当想要查找某个特定模型的Module时,使用search命令可以快速得到结果,例如hub search ssd命令,会查找所有包含了ssd字样的Module,命令支持正则表达式,例如hub search ^s.*搜索所有以s开头的资源。

注意 如果想要搜索全部的Module,使用hub search *并不生效,这是因为shell会自行进行通配符展开,将*替换为当前目录下的文件名。为了进行全局搜索,用户可以直接键入hub search

hub list

列出本地已经安装的Module

hub run

用于执行Module的预测,需要注意的是,并不是所有的模型都支持预测(同样,也不是所有的模型都支持迁移学习),更多关于run命令的细节,请查看下方的关于预测

hub help

显示帮助信息

hub version

显示PaddleHub版本信息

hub clear

PaddleHub在使用过程中会产生一些缓存数据,这部分数据默认存放在${HUB_HOME}/.paddlehub/cache目录下,用户可以通过clear命令来清空缓存

hub config

用于查看和设置paddlehub相关设置,包括对server地址、日志级别的设置:

示例

  • hub config: 显示当前paddlehub的设置

  • hub config reset: 恢复当前paddlehub的设置为默认设置

  • hub config server==[address]: 设置当前paddlehub-server地址为[address],paddlehub客户端从此地址获取模型信息

  • hub config log.level==[level]: 设置当前日志级别为[level], 可选值为CRITICAL, ERROR, WARNING, EVAL, TRAIN, INFO, DEBUG, 从左到右优先级从高到低

  • hub config log.enable==True|False: 设置当日志是否可用

hub serving

用于一键部署Module预测服务,详细用法见PaddleHub Serving一键服务部署

NOTE:

在PaddleHub中,Module表示一个可执行的预训练模型,一个Module可以支持直接命令行预测,也可以配合PaddleHub Finetune API,通过少量代码实现迁移学习。不是所有的Module都支持命令行预测 (例如BERT/ERNIE Transformer类模型,一般需要搭配任务进行finetune),也不是所有的Module都可用于finetune(例如LAC词法分析模型,我们不建议用户用于finetune)。

PaddleHub尽量简化了用户在使用命令行预测时的理解成本,一般来讲,我们将预测分为NLP和CV两大类

NLP类的任务

输入数据通过--input_text或者--input_file指定。以百度LAC模型(中文词法分析)为例,可以通过以下两个命令实现单行文本和多行文本的分析。

# 单文本预测
$ hub run lac --input_text "今天是个好日子"
# 多文本分析
$ hub run lac --input_file test.txt

其中test.txt的样例格式如下,每行是一个需要词法分析句子

今天是个好日子
天气预报说今天要下雨
下一班地铁马上就要到了
……更多行……

CV类的任务

输入数据通过--input_path或者--input_file指定。以SSD模型(单阶段目标检测)为例子,可以通过以下两个命令实现单张图片和多张图片的预测

# 单张照片预测
$ hub run resnet_v2_50_imagenet --input_path test.jpg
# 多张照片预测
$ hub run resnet_v2_50_imagenet --input_file test.txt

其中test.txt的格式为

cat.jpg
dog.jpg
person.jpg
……更多行……