全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
阿里云机器学习

Caffe实现图片分类

更新时间:2018-05-07 13:45:24

背景

TensorFlow实现图像分类文档介绍了如何通过深度学习的TensorFlow框架,实现对Cifar10图像的分类。
本文档介绍另一个深度学习框架Caffe,通过Caffe只需要填写一些配置文件就可以实现图像分类的模型训练。

请提前阅读深度学习文档,在机器学习平台上开通深度学习功能,文末提供了相关下载链接。

数据介绍

本文使用的是cifar10开源数据集,包含6万张像素为32*32的彩色图片,这6万张图片被分成10个类别,分别是飞机、汽车、鸟、毛、鹿、狗、青蛙、马、船、卡车,数据集截图如下。

https://zos.alipayobjects.com/rmsportal/DcsApBuhSJyvCbuXdEra.png

这份数据已经内置在机器学习平台的公共数据集中,以jpg格式存储。任何机器学习用户都可以在深度学习组件的数据源目录中直接输入以下路径:

  • 测试数据: oss://dl-images.oss-cn-shanghai-internal.aliyuncs.com/cifar10/caffe/images/cifar10_test_image_list.txt
  • 训练数据:oss://dl-images.oss-cn-shanghai-internal.aliyuncs.com/cifar10/caffe/images/cifar10_train_image_list.txt

如下图所示。

格式转换

目前深度学习的Caffe框架只支持特定的格式,所以首先需要使用“格式转换”组件,对jpg格式的图片进行转换。

  • 图片列表文件OSS路径:上文提到的机器学习内置的公共数据集。
  • 输出oss目录:用户自定义的OSS目录。

经过格式转换,在输出的OSS目录下生成如下文件,训练数据和测试数据各一份。

需要记录对应的OSS路径用于Net文件的填写,假设路径名分别是:

  • 训练数据data_file_list.txt:bucket/cifar/train/data_file_list.txt

  • 训练数据data_mean.binaryproto:bucket/cifar/train/data_mean.binaryproto

  • 测试数据data_file_list.txt:bucket/cifar/test/data_file_list.txt

  • 测试数据data_mean.binaryproto:bucket/cifar/test/data_mean.binaryproto

Caffe配置文件

Net文件编写,对应上文格式转换生成的路径:

Solver文件编写:

运行

  1. 将编辑好的Solver文件和Net文件上传到OSS上,拖拽Caffe组件到画布中,并与数据源链接。

  2. 配置Caffe组件参数,如下图所示,sovler oss路径选择已经上传到OSS上的Solver文件,单击运行

  3. 在OSS的模型路径下查看生成的图片分类模型文件,结果如下,可以用以下模型进行图片分类。

  4. 参考TensorFlow实现图像分类的“日志查看”章节,查看日志。

本文导读目录