在矩池云安装使用PaddleHub 和 PaddlePaddle

发布时间 2023-08-08 15:40:13作者: 矩池云

之前在安装 PaddleHub 导入的时候遇到各种错误,不是这个包没这个模块,就是哪个包没这个属性 。。。很头痛,网上也没有 PaddleHub 和 PaddlePaddle 对应的版本,只能自己慢慢试,查错误。

安装 paddlepaddle 和 paddlehub

目前测试下来,最新兼容版本是:paddlehub 2.3.1、paddlepaddle-gpu 2.4.2

我使用的环境是矩池云 CUDA 11.7 环境,预装:Ubuntu20.04, Python 3.9, CUDA 11.7, cuDNN 8, NVCC, VNC等。

租用机器的时候还可以在高级选项-自定义端口里添加一个自定义端口,用于部署 hub serving 服务。

启动机器后,打开 Jupyterlab,新建一个 Terminal,依次输入下面指令安装环境.

# 安装 gpu 版本 paddlepaddle
python -m pip install paddlepaddle-gpu==2.4.2.post117 -f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
# 安装最新版本 paddlehub
pip install paddlehub -i https://mirror.baidu.com/pypi/simple
# 升级依赖包
pip install typing-extensions --upgrade

按以上步骤安装后 paddle 相关包版本:

# pip list | grep paddle
paddle-bfloat             0.1.7
paddle2onnx               1.0.8
paddlefsl                 1.1.0
paddlehub                 2.3.1
paddlenlp                 2.5.2
paddlepaddle-gpu          2.4.2.post117

然后新建一个notebook,就可以正常使用了。

测试环境

import paddle
print(paddle.utils.run_check())

import paddlehub as hub

lac = hub.Module(name="lac")
test_text = ["今天是个好天气。"]

results = lac.cut(text=test_text, use_gpu=False, batch_size=1, return_tag=True)
print(results)
#{'word': ['今天', '是', '个', '好天气', '。'], 'tag': ['TIME', 'v', 'q', 'n', 'w']}

部署 lac 服务并测试

Terminal 里输入以下指令启动 hub serving 服务,其中参数含义如下:

  • -m 指定模型,测试使用的是 lac
  • -p 指定服务启动端口,测试使用的是 5000
hub serving start -m lac -p 5000

启动成功后,我们即可在本地使用代码调用云端部署好的服务了,测试案例如下:

import requests

# 请求的URL
url = "https://hz.matpool.com:xxxx/predict/lac"

# 输入的文本
text = "矩池云,专注于人工智能领域的云服务商"

# 发送POST请求
response = requests.post(url, json={"text": text})

# 获取并打印分析结果
result = response.json()
print(result)

其中请求的URL需要替换成你自己的租用页面的5000端口对应链接(token部分可以不要):

测试运行结果如下:

更多疑问欢迎和矩池云小助手交流。