在安装 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部分可以不要):
测试运行结果如下:
更多疑问欢迎和矩池云小助手交流。