\u200E
PaddleHub
便捷地获取PaddlePaddle生态下的预训练模型,完成模型的管理和一键预测。配合使用Fine-tune API,可以基于大规模预训练模型快速完成迁移学习,让预训练模型能更好地服务于用户特定场景的应用
零基础快速开始
resnext50_64x4d_imagenet
类别图像 - 图像分类
网络ResNeXt
数据集ImageNet-2012
模型概述
ResNeXt 是由 UC San Diego 和 Facebook AI 研究所于2017年提出的图像分类模型。沿袭了 VGG/ResNets 的堆叠思想,ResNeXt 使用相同形状的块来加深网络,并且像 Inception 网络一样,采用 split-transform-merge 策略来增加网络的分支数,但 ResNeXt 的各个分支的拓扑结构都是一样的,从而可减少超参的数目。分支数被命名为 cardinality,增加 cardinality 比加深和加宽(增加 filter channels)更有效。 ResNeXt50_64x4d,表示 layers 为 50, 分支数(cardinality) 为 64,每个分支的输入输出 channels 为4。 该 PaddleHub Module 使用 ImageNet-2012数据集训练,接受输入图片大小为 224 x 224 x 3,支持直接通过命令行或者 Python 接口进行预测。
选择模型版本进行安装
1.0.0 (最新版)
$ hub install resnext50_64x4d_imagenet==1.0.0

命令行预测示例

$ hub run resnext50_64x4d_imagenet --input_path "/PATH/TO/IMAGE"
$ hub run resnext50_64x4d_imagenet --input_file test.txt

test.txt 存放待分类图片的存放路径

API

 def classification(data)

用于图像分类预测

参数

data:dict类型,key 为 image,str 类型,value为待检测的图片路径,list类型。

返回

result:list类型,每个元素为对应输入图片的预测结果。预测结果为 dict 类型,key 为该图片分类结果label,value 为该label对应的概率

预测代码示例

import paddlehub as hub

module = hub.Module(name="resnext50_64x4d_imagenet")

test_img_path = "/PATH/TO/IMAGE"

# set input dict
input_dict = {"image": [test_img_path]}

# execute predict and print the result
results = module.classification(data=input_dict)
for result in results:
    print(result)

查看代码

https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/image_classification

依赖

paddlepaddle >= 1.4.0

paddlehub >= 1.0.0