深度学习文章4:计算图像数据集的均值
来源:互联网 发布:经典小说推荐 知乎 编辑:程序博客网 时间:2024/06/03 12:58
在前一篇文章中我们已经知道了如何将自己的图像数据转换为caffe需要的db文件深度学习文章3:将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件 ,在进行模型的训练之前,我们还需要进行一步,就是计算图像数据集的均值。
1.为什么计算图像数据的均值?
通常来讲,在各类深度学习模型中都具有计算图像均值的操作,这是因为图像减去均值后,再进行训练/测试,会大大提高速度和精度,这是我们在进行大量计算时希望可以达到的效果。
在caffe中,我们如何得到这个均值,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值,而不需要重新对带测试的图像进行计算了。
在实际使用中,计算均值需要产生.binaryproto的均值文件,通常我们可以使用caffe提供的脚本直接计算,此外,如果在之后进行测试时也想使用均值,例如调用Python接口,就需要生成python接口.npy文件,这个文件可以由之前.binaryproto文件转换得来。下面我们将就这两个文件的产生进行详述。
2.二进制格式的均值文件
在caffe根目录下的build/tools/文件夹下,caffe为我们提供了计算均值的文件compute_mean.cpp,编译后在caffe根目录下的tools文件夹下,我们可以直接调用,需要注意的是,这里计算需要图像的db文件,我们这里以上篇博文深度学习文章3:将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件 产生的训练数据db文件为样例,我们之前的db文件存储在caffe根目录下的examples/myfile/img_train_lmdb文件夹下,以此为例,生成二进制格式均值文件:
- 1
- 2
- 1
- 2
我们来简单分析下这条指令:
- 参数一:examples/myfile/img_train_lmdb,这是我们需要计算均值的训练图像数据集的db文件。
- 参数二:examples/myfile/mean.binaryproto,这是我们计算出来的均值文件的保存位置。
执行结合后可以看到身材高很多个二进制格式均值文件:
这个文件请保存好,在之后的模型训练中我们将使用到。
3.python格式所需要的的均值文件
在训练好模型之后,我们往往需要测试自己的单张图片的类别,通常会使用python接口或c++接口编程方式来实现,在python接口的使用中,我们需要使用python格式的均值文件,这里我们先讲解下生成的方法,便于之后直接使用。
计算python格式的均值文件需要两步:
- 第一步:按照上面生成二进制格式的均值文件的说明生成二进制格式的文件。
- 第二步:编写python脚本将二进制格式的均值文件转换。
新建一个名为convert_mean.py的文件,
- 1
- 2
- 1
- 2
具体的python脚本内容如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
编辑好之后保存退出,然后调用脚本:
- 1
- 1
两个参数:
- 第一个参数:mean.binaryproto,二进制的均值文件名。
- 第二个参数:mean.npy,生成的python格式均值文件。
我们可以看到生成后的文件:
请保存好这个文件,在之后的单张图像的分类测试中,我们将使用到。
- 深度学习文章4:计算图像数据集的均值
- 深度学习文章4:计算图像数据集的均值
- caffe学习笔记2:计算图像数据集的均值
- 深度学习之用python计算数据集均值
- Caffe学习系列——工具篇:计算数据集的图像均值
- 【深度学习】【caffe实用工具2】笔记24 Windows下【Caffe实用工具】之【计算图像均值】compute_image_mean的用法
- Caffe 计算图像的均值
- 深度学习-CAFFE利用CIFAR10网络模型训练自己的图像数据获得模型-2生成图像库的均值文件
- Caffe学习系列(15):计算图片数据的均值
- Caffe学习系列(15):计算图片数据的均值
- caffe学习系列:计算图片数据的均值
- Caffe学习系列(15):计算图片数据的均值
- Caffe学习系列(15):计算图片数据的均值
- Caffe学习系列(15):计算图片数据的均值
- 深度学习文章5:使用caffe对自己的图像数据进行训练并测试
- caffe中计算图像的均值
- caffe学习笔记12-建立自己的数据集与均值计算
- 计算图像均值
- applicationId和packageName,以及在Manifest中使用${applicationId}写法
- JAVA.Study.Note.初识JAVA
- MySQL 中的数据类型介绍
- es6基础回顾--Promise
- 详解 Java 定时任务
- 深度学习文章4:计算图像数据集的均值
- 分布式架构学习之持续集成:012--Hudson(Jekins)持续集成服务器的安装、配置和使用
- 分享Centos6.5升级glibc过程
- 火狐下载链接超时,调整默认时长
- iOS证书说明
- Mac vim操作
- Linux下Tomcat的安装和部署
- UIImagePickerController从拍照、图库、相册获取图片
- 一天搞定CSS: 浮动(float)的副作用--12