首页 PaddleHub 帖子详情
如何在离线环境下部署和使用paddlehub
收藏
快速回复
PaddleHub 问答离线运行 3212 20
如何在离线环境下部署和使用paddlehub
收藏
快速回复
PaddleHub 问答离线运行 3212 20

如题,因为一些原因,现在需要在一个离线的环境下使用paddlehub,已经设置过hub_home,模型也拷贝到相应的位置了,但还是无法使用,所以想问问各位大佬有没有相关的教程

0
收藏
回复
全部评论(20)
时间顺序
FutureSI
#2 回复于2021-10

参考:

https://aistudio.baidu.com/aistudio/projectdetail/2285725?channelType=0&channel=0

0
回复
孤独时代,笑对人生
#3 回复于2021-10
参考: https://aistudio.baidu.com/aistudio/projectdetail/2285725?channelType=0&channel=0

我现在是想在内网的服务器上跑程序,代码里调用了paddlehub进行训练和预测,任务是短文本单标签分类。如果想这个程序在内网服务器上运行的话,请问我需要怎么设置?我看了hub severing一键部署的教程,好像和我需要的功能不太一样。

0
回复
孤独时代,笑对人生
#4 回复于2021-10
参考: https://aistudio.baidu.com/aistudio/projectdetail/2285725?channelType=0&channel=0

paddlehub部分的代码类似于自定义数据集的fine-tune和预测,使用的是ernie-tiny预训练模型,请问是只需要将对应的模型比如.paddlenlp(或者.paddlehub)这个文件夹拷到对应的服务器上就行了吗

0
回复
FutureSI
#5 回复于2021-10
我现在是想在内网的服务器上跑程序,代码里调用了paddlehub进行训练和预测,任务是短文本单标签分类。如果想这个程序在内网服务器上运行的话,请问我需要怎么设置?我看了hub severing一键部署的教程,好像和我需要的功能不太一样。
展开

我一般都是用hub预测,还真没训练过。训练的话,一般能用套件用套件,不能用就自己写的。

0
回复
FutureSI
#6 回复于2021-10
paddlehub部分的代码类似于自定义数据集的fine-tune和预测,使用的是ernie-tiny预训练模型,请问是只需要将对应的模型比如.paddlenlp(或者.paddlehub)这个文件夹拷到对应的服务器上就行了吗
展开

我发的那个链接的项目就是干这个离线部署的

0
回复
FutureSI
#7 回复于2021-10

那个项目就是将github源码clone下来后,将自己的模型写成modular加入paddlehub的模型库,然后就可以内网调用了

0
回复
FutureSI
#8 回复于2021-10

模型不是拷贝过来就能用的,得打包成paddlehub能加载、能部署http服务的modular才行,重点是怎么将自己的模型变成modular

0
回复
FutureSI
#9 回复于2021-10

https://aistudio.baidu.com/aistudio/projectdetail/2285725?channelType=0&channel=0

照着这个来很方便的

0
回复
FutureSI
#10 回复于2021-10

不行你fork那个项目运行下就能搞定了

0
回复
FutureSI
#11 回复于2021-10
那个项目就是将github源码clone下来后,将自己的模型写成modular加入paddlehub的模型库,然后就可以内网调用了

不clone直接pip install paddlehub也可以,主要是自己做那个module(前面说的modular都应该是module)

0
回复
孤独时代,笑对人生
#12 回复于2021-10
FutureSI #11
不clone直接pip install paddlehub也可以,主要是自己做那个module(前面说的modular都应该是module)

我做的是一个主动学习的项目,模型是在不断fine-tune的,我需要的是用ernie-tiny不断fine-tune后的模型去预测的那个结果,准确说我需要的是hub.Module和hub.predict等几个api,我代码里调用了这个几个api,模型的话我只需要ernie-tiny这个模型

0
回复
FutureSI
#13 回复于2021-10

那直接 hub serving start -m XXX 就好了啊

0
回复
孤独时代,笑对人生
#14 回复于2021-11
FutureSI #13
那直接 hub serving start -m XXX 就好了啊

如果只是想和用其他包(比如sklearn)一样调用,怎么改写加载模型相关文件路径?PS:HUB_HOME已经改写重新设置了,但是加载词表之类(诸如vocab.txt、spm_cased_simp_sampled.model、dict.wordseg.pickle等文件)的路径没改写成功

0
回复
FutureSI
#15 回复于2021-11

大佬研究得深入啊!

反正套件都开源的,可以借鉴它怎么引入调用,大不了直接调用脚本里的函数~~

0
回复
孤独时代,笑对人生
#16 回复于2021-11
FutureSI #15
大佬研究得深入啊! 反正套件都开源的,可以借鉴它怎么引入调用,大不了直接调用脚本里的函数~~

只是个菜鸡...,找到了nlp相关的路径,解决了,想修改nlp相关的预训练模型(比如我说的ernie-tiny)加载路径的话要在paddlenlp里改,我的办法是在import之前修改环境变量为对应的指定文件夹就行,具体的办法是os.environ.setdefault('PPNLP_HOME',path)。想问问大佬知道怎么接着之前训练结果继续训练吗,save和load试了一个星期还是没办法。就比如说我现在有一个训练集500条5个label,task是文本分类。训练完了一轮保存了,如果加了1000条或者更多数据,想在上一轮的基础上继续训练就会报错

0
回复
孤独时代,笑对人生
#17 回复于2021-11
FutureSI #15
大佬研究得深入啊! 反正套件都开源的,可以借鉴它怎么引入调用,大不了直接调用脚本里的函数~~

代码如上所示

0
回复
孤独时代,笑对人生
#18 回复于2021-11
FutureSI #15
大佬研究得深入啊! 反正套件都开源的,可以借鉴它怎么引入调用,大不了直接调用脚本里的函数~~

报错如下所示

0
回复
FutureSI
#19 回复于2021-11
报错如下所示 [图片]

这个错误是说存储的优化器参数读取时,有些层的数据没找到。可能上次保存的优化器参数有问题。可以先注释掉读取优化器读取语句试试,看能不能接着跑训练

0
回复
11111112211111
#20 回复于2021-11

1

1

0
回复
孤独时代,笑对人生
#21 回复于2021-11
FutureSI #19
这个错误是说存储的优化器参数读取时,有些层的数据没找到。可能上次保存的优化器参数有问题。可以先注释掉读取优化器读取语句试试,看能不能接着跑训练

昨天debug了一天找到了方法,原因是因为动态图模型初始化优化器必须传入model的paramters,同时model的paramters每个参数都需要一个unique_name,它底层生成这个unique_name的生成器设置的全局变量,所以不重启连着跑的话会导致下次初始化model的paramters与上一次的不一样,我的方法是修改paddle.fulid.unique_name,加了一个功能函数在用完以后初始化这个全局变量

1
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户