常见问题

使用pip install paddlehub时提示

Could not find a version that satisfies the requirement paddlehub (from versions: )

这可能是因为pip指向了一个pypi的镜像源,该镜像源没有及时同步paddlehub版本导致。

使用如下命令来安装:

  1. $ pip install -i https://pypi.org/simple/ paddlehub

使用paddlehub时,提示

ModuleNotFoundError: No module named 'paddle'

这是因为PaddleHub依赖于PaddlePaddle,用户需要自行安装合适的PaddlePaddle版本。 如果机器不支持GPU,那么使用如下命令来安装PaddlePaddle的CPU版本:

  1. $ pip install paddlepaddle

如果机器支持GPU,则使用如下命令来安装PaddlePaddle的GPU版本:

  1. $ pip install paddlepaddle-gpu

利用PaddleHub ernie/bert进行Finetune时,提示

paddle.fluid.core_avx.EnforceNotMet: Input ShapeTensor cannot be found in Op reshape2等信息

这是因为ernie/bert module的创建时和此时运行环境中PaddlePaddle版本不对应。 首先将PaddleHub升级至最新版本,同时将ernie卸载。

  1. $ pip install --upgrade paddlehub
  2. $ hub uninstall ernie

使用paddlehub时,无法下载预置数据集、module的等现象

下载数据集、module等,PaddleHub要求机器可以访问外网。可以使用server_check()可以检查本地与远端PaddleHub-Server的连接状态,使用方法如下:

  1. import paddlehub
  2. paddlehub.server_check()
  3. # 如果可以连接远端PaddleHub-Server,则显示Request Hub-Server successfully.
  4. # 如果无法连接远端PaddleHub-Server,则显示Request Hub-Server unsuccessfully.

PaddleHub Module是否支持多线程,如何加快Module训练或预测的速度。

PaddleHub Module不支持多线程,可以通过使用GPU、加大batch_size等措施加速训练或者预测。 以下示例为加速LAC Module分词的方法:

  1. results = lac.lexical_analysis(data=inputs, use_gpu=True, batch_size=10)

如何获取输入句子经过ERNIE编码后的句子表示Embedding?

具体参考BERT Services使用说明

在虚拟机Python2环境中使用hub命令报错“Illegal instruction”

请先排除numpy的版本问题:使用pip show numpy检查numpy的版本,如果是1.16.0~1.16.3会出现numpy错误,请pip uinstall numpy后再用pip install numpy<1.17.0安装新版本的numpy。

如何修改PaddleHub的修改预训练模型存放路径?

通过设置系统环境变量HUB_HOME,修改预训练模型存放路径