python格式的Caffe图片数据均值计算学习

作者:denny402 时间:2022-10-28 07:44:19 

引言

图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。

那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。

一、二进制格式的均值计算

caffe中使用的均值数据格式是binaryproto, 作者为我们提供了一个计算均值的文件compute_image_mean.cpp,放在caffe根目录下的tools文件夹里面。

编译后的可执行体放在 build/tools/ 下面,我们直接调用就可以了

# sudo build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryproto

带两个参数:

第一个参数:examples/mnist/mnist_train_lmdb, 表示需要计算均值的数据,格式为lmdb的训练数据。

第二个参数:examples/mnist/mean.binaryproto, 计算出来的结果保存文件。

二、python格式的均值计算

如果我们要使用python接口,或者我们要进行特征可视化,可能就要用到python格式的均值文件了。首先,我们用lmdb格式的数据,计算出二进制格式的均值,然后,再转换成python格式的均值。

我们可以编写一个python脚本来实现:

#!/usr/bin/env python
import numpy as np
import sys,caffe
if len(sys.argv)!=3:
   print "Usage: python convert_mean.py mean.binaryproto mean.npy"
   sys.exit()
blob = caffe.proto.caffe_pb2.BlobProto()
bin_mean = open( sys.argv[1] , 'rb' ).read()
blob.ParseFromString(bin_mean)
arr = np.array( caffe.io.blobproto_to_array(blob) )
npy_mean = arr[0]
np.save( sys.argv[2] , npy_mean )

 将这个脚本保存为convert_mean.py

调用格式为:

# sudo python convert_mean.py mean.binaryproto mean.npy

其中的 mean.binaryproto 就是经过前面步骤计算出来的二进制均值。

mean.npy就是我们需要的python格式的均值。

来源:https://www.cnblogs.com/denny402/p/5102328.html

标签:python,Caffe,均值计算,图片数据
0
投稿

猜你喜欢

  • CentOS6.8使用cmake安装MySQL5.7.18

    2024-01-27 06:00:06
  • Python中使用Frozenset对象的案例详解

    2023-09-27 09:36:32
  • Python字典查找数据的5个基础操作方法

    2021-09-08 23:19:45
  • 分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式

    2024-05-22 10:41:02
  • tensorflow识别自己手写数字

    2022-10-12 20:25:04
  • Python中变量的输入输出实例代码详解

    2022-11-26 00:47:56
  • python 二维矩阵转三维矩阵示例

    2023-09-14 03:53:56
  • SpringBoot 中使用JSP的方法示例

    2023-06-16 22:35:09
  • Java通过MyBatis框架对MySQL数据进行增删查改的基本方法

    2024-01-17 10:27:12
  • sqlserver 手工实现差异备份的步骤

    2024-01-28 12:48:24
  • html网页调用后端python代码的方法实例

    2023-04-20 19:31:51
  • Django与AJAX实现网页动态数据显示的示例代码

    2022-11-05 01:10:17
  • Python基于域相关实现图像增强的方法教程

    2023-08-24 15:30:22
  • python交易记录整合交易类详解

    2022-09-15 20:18:37
  • 利用Python网络爬虫爬取各大音乐评论的代码

    2023-01-05 19:26:55
  • Go简单实现协程池的实现示例

    2024-02-19 07:35:16
  • php将文件夹打包成zip文件的简单实现方法

    2024-05-11 09:48:14
  • pyqt5移动鼠标显示坐标的方法

    2023-06-09 22:37:30
  • python匹配两个短语之间的字符实例

    2022-08-31 04:49:57
  • Golang 字符串转time类型实现

    2024-04-28 09:16:54
  • asp之家 网络编程 m.aspxhome.com