faq.md 2.6 KB
Newer Older
1 2
# 常见问题

A
adaxiadaxi 已提交
3 4
## 使用pip install paddlehub时提示
`Could not find a version that satisfies the requirement paddlehub (from versions: )`
5 6 7 8 9 10 11 12 13

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

使用如下命令来安装:

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

A
adaxiadaxi 已提交
14 15
## 使用paddlehub时,提示
`ModuleNotFoundError: No module named 'paddle'`
16 17 18 19 20 21 22 23 24 25 26 27

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

如果机器支持GPU,则使用如下命令来安装PaddlePaddle的GPU版本:
```shell
$ pip install paddlepaddle-gpu
```

A
adaxiadaxi 已提交
28 29
## 利用PaddleHub ernie/bert进行Finetune时,提示
`paddle.fluid.core_avx.EnforceNotMet: Input ShapeTensor cannot be found in Op reshape2`等信息
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

这是因为ernie/bert module的创建时和此时运行环境中PaddlePaddle版本不对应。
首先将PaddleHub升级至最新版本,同时将ernie卸载。
```shell
$ pip install --upgrade paddlehub
$ hub uninstall ernie
```

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

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

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

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

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

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

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

A
adaxiadaxi 已提交
60
具体参考[BERT Services](./tutorial/bert_service.md)使用说明
61 62 63 64 65 66 67 68

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

请先排除numpy的版本问题:使用pip show numpy检查numpy的版本,如果是1.16.0~1.16.3会出现[numpy错误](https://github.com/numpy/numpy/issues/9532),请pip uinstall numpy后再用pip install numpy<1.17.0安装新版本的numpy。

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

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