Caffe代码学习及cifar-10数据集解析
Caffe代码
CIFAR-10是什么?
Cifar-10是由Hinton的两个大弟子AlexKrizhevsky和llyaSutskever收集的一个用于普通物体识别的数据集。
CIFAR是由加拿大牵头投资的一个先进的科学项目研究所。Hinton和Bengio以及他的学生在2004年拿到了CIFAR项目投资少量的资金,建立了神经计算和自适应感知项目。这个项目集结了不少的科学家,电气工程师,神经科学家,物理学家,心理学家,加速推动深度学习的经常。从这个阵容开看,DL和ML(机器学习)系列的数据挖掘分的已经很远。DL强调的是自适应感知和人工智能,是计算机与神经科学交叉的一个学科,而ML强调的是高速,大数据,统计数学分析,是计算机和数学的交叉。
2. cifar-10数据集简介
(1)CIFAR-10这个数据集总共包含:60000张图片
(2)图片size:32pixel*32pixel
(3)图片深度:三通道RGB的彩色图片
(4)这60000张图片有:50000张训练样本,10000张测试样本
记住:
(1) Cifar-10:是一个普通物体的识别的数据集,因此这个数据集合和网络模型的最大特点就是:可以很容易的将物体识别迁移到其他普通的物体
(2) 而且可以将10分类问题扩展至100类物体的分类,甚至是10000类和更多类的物体分类(当然你们需要有更多的GPU和DataSet)。
(3) 注意一点是:
这个实例中的数据集存在一个。
1.----10000*3072的numpy的数组中------10000张图片*每张的像素组
2.----单位是uint8s
3.----3072存储了一个32*32的彩色图片(3*32*32=3*1024= 3072)
4.-----numpy的前1024位是RGB中的R分量像素值,中间的1024位是G分量的像素值,最后的1024是B分量
5.-----最后注意一点是:
CIFAR-10这个例子只能用于小图片的分类,正如前面讲的Mnist实例,主要用于手写数字的识别一样。
CIFAR-10所使用的卷积神经CNN的网络模型
1---DL的两大核心:数据+模型,上面,我们详细讲述了CIFAR-10所使用的数据集,下面我们来看看CIFAR-10所使用的网络Net模型。
2.---模型在caffe中的描述配置为:cifar10_quick_train_test.prototxt
3.---该文件所在的位置:/home/wei/examples/cifar10_quick_train_test.prototxt,如下:
4.---该 CNN-NET主要由:卷积层,POOLing层,非线性的变换层,局部对比归一化线性分类器组成。
Cifar10实例的具体操作运行过程:
1----下载数据集
执行下面的命令:sudosh ./data/cifar10/get_cifar10.sh
下载成功后,在/home/wei/data/cifar10/文件目录下会看到大多数的二进制文件数据;
2-----将刚才下载下来的二进制数据集文件转换成caffe所识别的LMDB或者LevelDB格式的数据库形式,并且计算数据集的均值文件
(1)数据格式的转化和计算均值所需要使用的所有的shell命令都被写在了一个shell脚本中,所以我们只需要运行这个shell
脚本就可以,这个shell脚本在:/home/amax/home/amax/caffe/examples/cifar10/文件夹下,名字为:
create_cifar10.sh
(2)使用下面的命令:sudosh ./home/amax/chunweitian/examples/cifar10/create_cifar10.sh
(3) 下载成功后,会在/home/amax/chunweitian/caffe/examples/cifar10/目录下生成三个文件:
cifar10_train_lmdb---训练样本数据集
cifar10_test_lmdb----测试样本数据集
mean.binaryproto----数据集的均值文件(用于减均值操作)
训练和测试网络模型
在这个阶段,寻找准备三个文件:
(1) 网络模型配置文件:cifar10_quick_train_test.prototxt
(2) 超参数配置文件:solver:cifar10_quick_solver.prototxt
(3) 训练脚本文件:train_quick_sh
1--建立训练上面数据的网络模型,当然在这个例子中,caffe已经为我们创建好了,那就是/home/wei/caffe/examples/cifar10/文件夹下面的:cifar10_quick_train_test.prototxt
2---配置参数设置solver文件,当然caffe也已经为我们准备好了,这个文件位于/home/wei/caffe/examples/cifar10/
文件夹下面的:cifar10_quick_solver.prototxt
3---编写训练模型的shell脚本文件:train_quick.sh
4---由于我使用的CPU没有GPU,所以还要改cifar10_quick_solver.prototxt配置文件的最后一项:将GPU改为CPU
准备好数据+模型+参数配置solver文件之后,执行下面的命令:
sudo./examples/cifar10/train_quick.sh、
当前位置:首页 > 电脑办公 > 电脑设计 > 程序设计 > caffe第二个比较经典的[小图片]识别例子CIFAR_10的运行,网络模型的详解
caffe cifar10 caffe第二个比较经典的[小图片]识别例子CIFAR_10的运行,网络模型的详解