运用 MXNet Scala API 接口进行图像分类(附代码)

2018 年 6 月 17 日 AI研习社

本文为雷锋字幕组编译的技术博客,原标题 Image Classification with MXNet Scala Inference API,作者为 Qing Lan, Roshani Nagmote

翻译 | 朱茵    整理 |  凡江

博客原址:

https://medium.com/apache-mxnet/image-classification-with-mxnet-scala-inference-api-8ab6ce1bbccf

随着 MXNet 1.2.0 版本的发布,新的 MXNet Scala API 接口也发布了。这次发布的 Scala,里面的推理应用程序致力于优化开发者体验。Scala 是一个通用目的程序语言,支持功能性编程和较强的静态类型系统,它被用于平台的高度分布式处理像 Apache Spark。

现在,你们有了新的 Scala API 接口,准备自己试验下。首先你们需要使用 mxnet-full 包来搭建环境,然后你们可以在图像分类的实例和目标侦测的实例上尝试下。(目标侦测的实例我们将在下一次的博客中公布演示)。

  环境搭建 (Linux/OSX)

使用 maven 来安装 mxnet-full 包。在 pom 文件里添加属性。请转换 <你的平台> 到你们正在使用的平台。(OSX: osx-x86_64-cpu, Linux: linux-x86_64-cpu/gpu)

如果你正在使用 IntelliJ,你应看到安装包已被导入。你也可以根据这个教程用 MXNet Scala 包来设置 IntelliJ。

  图像分类实例

在这部分,你将使用预训练的图像分类模型做推理。这个例子使用了 ResNet152 模型。你可以使用这个脚本来下载这个模型文件。

以下是重建这个例实例需要导入的库。

第一步:创建运行这个实例的主要功能 

这里的环境意思是定义这个模型,代码将会运行。如果你想用 GPU(s) 来运行的话,你可以将这行代码改成 context.gpu()。本实例,我们使用了这副图片。

然后给模型添加路径并添加使用 API 接口做测试的图像。

第二步:加载模型并做推

以下代码是之前代码块的延续:

需要用一个输入描述符来定义输入来源和模型配置。「数据」就是输入数据的名字。输入形状是输入图像的形状。输入的矩阵是 224*224 像素大小的三个信道。

在我们挑选和整理好我们所有的输入后,我们创建了一个图像分类器目标,使用它来加载图像。然后我们开始在样本图像上做分类。「Some(5)」区域意思是我们将选取最准确的前 5 个预测。这个区域是选择性的,未分类顺序的预测会是默认选项。一旦完成这一步,我们只需打印显示输出。

  结果

结束上一步后,你将看到类似于以下的输出(这儿我们使用了一张哈巴狗的图像):

第一个元素是分类「n02110958 pug, pug-dog」,第二个值是由分类器决定的该分类的可信度值。

  总结

这次简单的试验后,你应当能够使用 MXNet Scala API 接口创建一个图像分类器。你能在 MXNet 项目资源库的 Scala 推理图像分类器实例中找到更多有关这个实例的代码信息。

在我们后续的博客中,我们将介绍使用 MXNet Scala API 接口处理目标侦测的任务。

感谢 Naveen Swamy。

博客原址:

https://medium.com/apache-mxnet/image-classification-with-mxnet-scala-inference-api-8ab6ce1bbccf

GAIR 大会在即,

AI 研习社送福利了!

6 月 8 日,

我们为全国学生提供了 CCF-GAIR 2018 的免费门票申请通道,

并从中筛选 20 位学生,

承包「国内往返机票+四晚住宿」的福利。


第一批福利申请的 12 位学生名单已出炉,

详情可参见 6 月 15 日的末条推送。


从 6 月 15 日 0 时开始,

AI 研习社将开启第二批福利申请通道,

将继续筛选 8 名同学赠送

价值 3999 元 CCF-GAIR 2018 大会门票

及「国内往返机票+四晚住宿」福利!


这一福利申请将于 6 月 21 日晚 24 点截止,

并预计于 6 月 22 日公布名单。

欢迎同学们点击「阅读原文」链接提交表单。


我们的免费门票申请通道仍会持续开放,

将于 6 月 26 日晚 24:00 截止申请。


(PS:请在表单内填写准确的微信号,审核通过后工作人员将通过微信与您取得联系,发放门票)

6 月 29 日至 7 月 1 日,深圳见!

赠票须知 

➤ 截止日期:6 月 26 日晚 24:00

➤ 活动解释权归雷锋网 AI 研习社所有

登录查看更多
3

相关内容

专知会员服务
54+阅读 · 2020年7月4日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
最新《自动微分手册》77页pdf
专知会员服务
99+阅读 · 2020年6月6日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
84+阅读 · 2019年12月27日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
使用TensorFlow目标检测和OpenCV分析足球视频
极市平台
5+阅读 · 2018年7月10日
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
一个小例子带你轻松Keras图像分类入门
云栖社区
4+阅读 · 2018年1月24日
TensorFlow图像分类教程
云栖社区
9+阅读 · 2017年12月29日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
手把手教TensorFlow(附代码)
深度学习世界
15+阅读 · 2017年10月17日
Caffe 深度学习框架上手教程
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月12日
Arxiv
5+阅读 · 2020年3月26日
Feature Selection Library (MATLAB Toolbox)
Arxiv
7+阅读 · 2018年8月6日
Arxiv
8+阅读 · 2018年1月12日
VIP会员
相关VIP内容
专知会员服务
54+阅读 · 2020年7月4日
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
最新《自动微分手册》77页pdf
专知会员服务
99+阅读 · 2020年6月6日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
【干货】用BRET进行多标签文本分类(附代码)
专知会员服务
84+阅读 · 2019年12月27日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
相关资讯
基于TensorFlow和Keras的图像识别
Python程序员
16+阅读 · 2019年6月24日
使用TensorFlow目标检测和OpenCV分析足球视频
极市平台
5+阅读 · 2018年7月10日
用 TensorFlow 目标检测 API 发现皮卡丘!
AI研习社
5+阅读 · 2018年6月4日
一个小例子带你轻松Keras图像分类入门
云栖社区
4+阅读 · 2018年1月24日
TensorFlow图像分类教程
云栖社区
9+阅读 · 2017年12月29日
手把手教你搭建caffe及手写数字识别
七月在线实验室
12+阅读 · 2017年11月22日
手把手教TensorFlow(附代码)
深度学习世界
15+阅读 · 2017年10月17日
Caffe 深度学习框架上手教程
黑龙江大学自然语言处理实验室
14+阅读 · 2016年6月12日
Top
微信扫码咨询专知VIP会员