背景

我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841。使用Tensorflow做深度学习做深度学习的网络搭建和训练需要通过PYTHON代码才能使用,对于不太会写代码的同学还是有一定的使用门槛的。本文将介绍另一个深度学习框架Caffe,通过Caffe只需要填写一些配置文件就可以实现图像分类的模型训练。

关于PAI的深度学习功能开通,请务必提前阅读https://help.aliyun.com/document_detail/49571.html

文末提供了相关下载链接。

数据介绍

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

目前这份数据已经内置在PAI提供的公共数据集中,以jpg格式存储。任何PAI的用户都可以在深度学习组件的数据源OSS路径中直接输入,

* 测试数据: 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

如图:

格式转换

目前PAI上的Caffe框架只支持特定的格式,所以需要首先将jpg格式的图片进行格式转换。

经过格式转换,可以在自己的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文件编写:

运行

将编辑好的Solver文件和Net文件全部传到OSS上,拖动caffe训练组件如图,在Sovler文件路径上选择OSS上提交的Solver文件,运行即可。

生成的图片分类model文件可以在OSS对应路径下查看,可以用以下模型进行图片分类

日志查看可以参照本文开头提供的“Tensorflow实现图像分类”。

其它

代码下载:http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/52239/cn_zh/1496736657170/Caffe_cifar10.zip?spm=5176.doc52239.2.2.tMrTgQ&file=Caffe_cifar10.zip

免费体验:阿里云数加机器学习平台

作者微信公众号(与作者讨论):

【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练的更多相关文章

  1. 人工智能深度学习Caffe框架介绍,优秀的深度学习架构

    人工智能深度学习Caffe框架介绍,优秀的深度学习架构 在深度学习领域,Caffe框架是人们无法绕过的一座山.这不仅是因为它无论在结构.性能上,还是在代码质量上,都称得上一款十分出色的开源框架.更重要 ...

  2. 【机器学习PAI实践十二】机器学习算法基于信用卡消费记录做信用评分

    背景 如果你是做互联网金融的,那么一定听说过评分卡.评分卡是信用风险评估领域常用的建模方法,评分卡并不简单对应于某一种机器学习算法,而是一种通用的建模框架,将原始数据通过分箱后进行特征工程变换,继而应 ...

  3. 吴裕雄--天生自然 神经网络人工智能项目:基于深度学习TENSORFLOW框架的图像分类与目标跟踪报告(续四)

    2. 神经网络的搭建以及迁移学习的测试 7.项目总结 通过本次水果图片卷积池化全连接试验分类项目的实践,我对卷积.池化.全连接等相关的理论的理解更加全面和清晰了.试验主要采用python高级编程语言的 ...

  4. 深度学习—caffe框架训练文档

    转存:LMDB E:\机器学习2\caffe资料\caffe_root\caffe-master\Build\x64\Release>convert_imageset.exe E:/机器学习2/ ...

  5. 人工智能范畴及深度学习主流框架,IBM Watson认知计算领域IntelligentBehavior介绍

    人工智能范畴及深度学习主流框架,IBM Watson认知计算领域IntelligentBehavior介绍 工业机器人,家用机器人这些只是人工智能的一个细分应用而已.图像识别,语音识别,推荐算法,NL ...

  6. 人工智能范畴及深度学习主流框架,谷歌 TensorFlow,IBM Watson认知计算领域IntelligentBehavior介绍

    人工智能范畴及深度学习主流框架,谷歌 TensorFlow,IBM Watson认知计算领域IntelligentBehavior介绍 ================================ ...

  7. 从Theano到Lasagne:基于Python的深度学习的框架和库

    从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...

  8. Python、机器学习、计算机视觉、深度学习入门

    1.简明Python教程 2.Python计算机视觉编程 3.机器学习实践 4.吴恩达机器学习 5.李飞飞深度学习与计算机视觉

  9. 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    [重磅干货整理]机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总 .

随机推荐

  1. 20145302张薇《Java程序设计》第五周学习总结

    20145302 <Java程序设计>第五周学习总结 教材学习内容总结 第八章 try catch JVM会先尝试执行try区块中的内容,若发生错误且与catch后面的类型相符,则执行ca ...

  2. 20144303 《Java程序设计》课程总结

    20144303 <Java程序设计>课程总结 每周读书笔记链接汇总 第一周:http://www.cnblogs.com/20144303sys/p/5248979.html 第二周:h ...

  3. Java基础东西(按位操作运算)

    http://aokunsang.iteye.com/blog/615658 前奏:   昨天一哥们问我Java位移你会吗,我说不会,想想位移这么麻烦,一般有位移的Java代码一律不看,有几个人会啊, ...

  4. 【Network architecture】Rethinking the Inception Architecture for Computer Vision(inception-v3)论文解析

    目录 0. paper link 1. Overview 2. Four General Design Principles 3. Factorizing Convolutions with Larg ...

  5. 组合数模板 - Lucas

    2017-08-10 19:35:32 整理者:pprp 用于计算C(m,n) % p 代码如下: //lucas #include <iostream> using namespace ...

  6. Python学习札记(五) Basic2 字符串和编码

    参考:字符串和编码 Note A.字符编码 1.计算机处理文本 == 将文本转换为二进制 => 处理 2.8 bit(比特) = 1 byte(字节) 一个字节所能表示的最大的十进制整数是255 ...

  7. 05_MySQL常见函数_分组函数

    # 分组函数/*功能: 统计,又称为聚合函数,统计函数,组函数 传入一组值,统计后得到一个值 分类: sum 求和,avg 平均值,max 最大值,min 最小值,count 计算个数 特点: 1. ...

  8. 单元测试 使用 Effort 内存数据库 报错

    单元测试中 使用 Effort 内存数据库,可能会遇到两个错误: 1. :“No Entity Framework provider found for the ADO.NET provider wi ...

  9. 深入浅出-Binding的源与路径

    1.把控件作为Binding源与Binding标记扩展<TextBox x:Name="textBox1" Text="{Binding Path=Value, E ...

  10. web项目整合Shiro框架

    1.修改pom.xml文件 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>s ...