提交 9e087b1f 编写于 作者: Z zhangxuefei

Merge branch 'develop' into release/v1.1.0

......@@ -23,6 +23,72 @@ PaddleHub是基于PaddlePaddle生态下的预训练模型管理和迁移学习
除上述依赖外,PaddleHub的预训练模型和预置数据集需要连接服务端进行下载,请确保机器可以正常访问网络
## 常见问题
### 问题一
**现象**
利用PaddleHub ernie/bert进行Finetune时,提示`paddle.fluid.core_avx.EnforceNotMet: Input ShapeTensor cannot be found in Op reshape2`等信息
**原因**
这是因为ernie/bert module的创建时和此时运行环境中PaddlePaddle版本不对应。
**解决方法**
首先将PaddlePaddle和PaddleHub升级至最新版本,同时将ernie卸载。
如果机器不支持GPU,那么使用如下命令来安装PaddlePaddle的CPU版本
```shell
$ pip install --upgrade paddlepaddle
$ pip install --upgrade paddlehub
$ hub uninstall ernie
```
如果机器支持GPU,则使用如下命令来安装PaddlePaddle的GPU版本
```shell
$ pip install --upgrade paddlepaddle-gpu
$ pip install --upgrade paddlehub
$ hub uninstall ernie
```
### 问题二
**现象**
使用paddlehub时,无法下载预置数据集、Module的等现象
**原因**
PaddleHub中的预训练模型和预置数据集都需要通过服务端进行下载,因此Paddle Hub默认用户访问外网权限。
可以通过以下命令确认是否可以访问外网。
```python
import requests
res = requests.get('http://paddlepaddle.org.cn/paddlehub/search', {'word': 'ernie', 'type': 'Module'})
print(res)
# the common result is like this:
# <Response [200]>
```
**Note**
PaddleHub 1.1.1版本已支持离线运行Module
### 问题三
**现象**
利用PaddleHub Finetune如何适配自定义数据集
**解决方法**
参考[PaddleHub Finetune适配自定义数据集完成Finetune](https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub%E9%80%82%E9%85%8D%E8%87%AA%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E5%AE%8C%E6%88%90FineTune)
## 答疑
当安装或者使用遇到问题时,可以通过[FAQ](https://github.com/PaddlePaddle/PaddleHub/wiki/PaddleHub-FAQ)查找解决方案。
......@@ -93,5 +159,58 @@ $ hub run faster_rcnn_coco2017 --input_path test_object_detection.jpg
* [AI Studio](https://aistudio.baidu.com/aistudio/projectDetail/79378)
* [AIBook](https://console.bce.baidu.com/bml/#/bml/aibook/img_cls)
## 更新历史
### PaddleHub v1.1.1
* PaddleHub支持离线运行
* 修复python2安装PaddleHub失败问题
### PaddleHub v1.1.0
* PaddleHub 新增 ERNIE 2.0
* 升级Reader, 支持自动传送数据给Ernie 1.0/2.0
* 新增数据集GLUE(MRPC、QQP、SST-2、CoLA、QNLI、RTE、MNLI)
### PaddleHub v1.0.1
* 安装模型时自动选择与paddlepaddle版本适配的模型
### PaddleHub v1.0.0
* 全新发布PaddleHub官网,易用性全面提升
* 新增网站 http://hub.paddlepaddle.org.cn 包含PaddlePaddle生态的预训练模型使用介绍
* 迁移学习Demo接入AI Studio与AI Book,无需安装即可快速体验
* 新增29个预训练模型,覆盖文本、图像、视频三大领域;目前官方提供40个预训练模型
* CV预训练模型:
* 新增图像分类预训练模型11个:SE_ResNeXt, GoogleNet, ShuffleNet等
* 新增目标检测模型Faster-RCNN和YOLOv3
* 新增图像生成模型CycleGAN
* 新增人脸检测模型Pyramidbox
* 新增视频分类模型4个: TSN, TSM, StNet, Non-Local
* NLP预训练模型
* 新增语义模型ELMo
* 新增情感分析模型5个: Senta-BOW, Senta-CNN, Senta-GRNN, , Senta-LSTM, EmoTect
* 新增中文语义相似度分析模型SimNet
* 升级LAC词法分析模型,新增词典干预功能,支持用户自定义分词
* Fine-tune API升级,灵活性与性能全面提升
* 支持多卡并行、PyReader多线程IO,Fine-tune速度提升60%
* 简化finetune、evaluate、predict等使用逻辑,提升易用性
* 增加事件回调功能,方便用户快速实现自定义迁移学习任务
* 新增多标签分类Fine-tune任务
### PaddleHub v0.5.0
正式发布PaddleHub预训练模型管理工具,旨在帮助用户更高效的管理模型并开展迁移学习的工作。
* 预训练模型管理: 通过hub命令行可完成PaddlePaddle生态的预训练模型下载、搜索、版本管理等功能。
* 命令行一键使用: 无需代码,通过命令行即可直接使用预训练模型进行预测,快速调研训练模型效果。
目前版本支持以下模型:词法分析LAC;情感分析Senta;目标检测SSD;图像分类ResNet, MobileNet, NASNet等。
* 迁移学习: 提供了基于预训练模型的Finetune API,用户通过少量代码即可完成迁移学习,包括BERT/ERNIE文本分类、序列标注、图像分类迁移等。
## 版权和许可证
PaddleHub由[Apache-2.0 license](LICENSE)提供
......@@ -151,6 +151,9 @@ class HubServer(object):
api_url = srv_utils.uri_path(self.get_server_url(), 'search')
r = srv_utils.hub_request(api_url, payload)
if r['status'] == 0 and len(r['data']) > 0:
for item in r['data']:
if resource_name.lower() == item['name'].lower():
return item
return r['data'][0]
except:
if self.config.get('debug', False):
......@@ -221,11 +224,14 @@ class HubServer(object):
raise
else:
pass
file_url = self.config[
'resource_storage_server_url'] + RESOURCE_LIST_FILE
result, tips, self.resource_list_file = default_downloader.download_file(
file_url, save_path=hub.CACHE_HOME, replace=True)
if not result:
try:
file_url = self.config[
'resource_storage_server_url'] + RESOURCE_LIST_FILE
result, tips, self.resource_list_file = default_downloader.download_file(
file_url, save_path=hub.CACHE_HOME, replace=True)
if not result:
return False
except:
return False
return True
......
......@@ -13,5 +13,5 @@
# See the License for the specific language governing permissions and
# limitations under the License.
""" PaddleHub version string """
hub_version = "1.1.0"
hub_version = "1.1.1"
module_proto_version = "1.0.0"
......@@ -3,10 +3,12 @@ pre-commit
protobuf >= 3.1.0
yapf == 0.26.0
pyyaml
numpy >= 1.12.0
numpy
#[py2]numpy == 1.16.0
Pillow
six >= 1.10.0
chardet == 3.0.4
requests
pandas
#[py2]pandas == 0.24.0
flake8
......@@ -31,12 +31,14 @@ def python_version():
max_version, mid_version, min_version = python_version()
REQUIRED_PACKAGES = [
'numpy >= 1.12.0', 'six >= 1.10.0', 'pandas', 'protobuf >= 3.1.0', 'pyyaml',
'Pillow', 'requests', "visualdl >= 1.3.0"
'six >= 1.10.0', 'protobuf >= 3.1.0', 'pyyaml', 'Pillow', 'requests',
"visualdl >= 1.3.0"
]
if max_version < 3:
REQUIRED_PACKAGES += ["enum"]
REQUIRED_PACKAGES += ["enum", "numpy == 1.16.0", "pandas == 0.24.0"]
else:
REQUIRED_PACKAGES += ["numpy", "pandas"]
setup(
name='paddlehub',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册