本教程介绍如何使用预训练模型识别图像中的对象,以及如何进行特征提取。
前提条件
为了完成以下教程,我们需要:
- MXNet:安装教程
-Python Requests, Matplotlib and Jupyter Notebook.
$ pip install requests matplotlib jupyter opencv-python
- 1
- 2
载入
我们首先下载一个预训练的,在完整的ImageNet数据集上训练的152层的ResNet模型,该数据集拥有超过1000万张图像和1万个类别。预训练模型包含两部分,包含模型定义的json文件和包含参数的二进制文件。 此外,还可能有一个用于标签的文本文件。
import mxnet as mx
path='http://data.mxnet.io/models/imagenet-11k/'
[mx.test_utils.download(path+'resnet-152/resnet-152-symbol.json'),
mx.test_utils.download(path+'resnet-152/resnet-152-0000.params'),
mx.test_utils.download(path+'synset.txt')]
- 1
- 2
- 3
- 4
- 5
接下来,我们载入下载的模型。注意:如果GPU可用,我们可以用mx.gpu() 替换所有出现的mx.cpu(),以加速计算。
sym, arg_params, aux_params = mx.model.load_checkpoint('resnet-152',