不同格式下计算图片的均值和caffe.proto

均值是所有训练样本的均值,减去之后再进行训练会提高其速度和精度。

1、caffe下的均值

数据格式是二进制的binaryproto,作者提供了计算均值的文件compute_image_mean,

计算均值时调用:

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

生成的均值文件保存在mean_binaryproto。

2、python格式下的均值(.npy)

需要首先将其转为二进制的,然后再转成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()//读入mean.binaryproto
blob.ParseFromString(bin_mean)//解析文件内容到blob
//将blob中的均值转化为.py格式,array的shape(mean_number,channel,height,width)
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

得到python下的文件mean.npy

参考:http://www.cnblogs.com/denny402/p/5102328.html

http://blog.csdn.net/hyman_yx/article/details/51732656

3、caffe.proto

在2中,出现了caffe.proto,其中定了很多结构化的数据,比如conv层啊,pool层啊。Protobuf是用于数组存储和交换的,

比如一部分写数据进行存储,另一部分进行读写,为了方便操作,将其定义共同的结构化据。

具体可参考:http://blog.csdn.net/qq_16055159/article/details/45115359/

时间: 2024-12-29 05:41:01

不同格式下计算图片的均值和caffe.proto的相关文章

Linux下修改图片格式

Linux下修改图片格式 在终端上安装imagemagick sudo apt-get install imagemagick cd到相应的图片所在目录 #把 .png 转到 .jpg convert *.png *.jpg rm -r *.png 上面的方法产生的图片,可能在window上是不能打开的.下面用matlab写了个脚本,可以保证在两个平台上都能用. imagePath='sequences/SegTrack/birdfall2/'; files=dir([imagePath,'*.

Android下将图片载入到内存中

Android的系统的标准默认每一个应用程序分配的内存是16M.所以来说是很宝贵的,在创建应用的时候要尽可能的去节省内存,可是在载入一些大的文件的时候,比方图片是相当耗内存的,一个1.3M的图片,分辨率是2560X1920(宽X高)图片当载入到手机内存的时候就会请求19M的一块内存,这是远远超出了系统自带的内存空间,这时候应用程序就会挂掉,所以我们要进行图片的缩放处理,以下我就来带大家创建一个用来图片缩放的应用: 应用效果图例如以下: 核心代码的实现: package com.examp.loa

Android下将图片加载到内存中

Android的系统的标准默认每个应用程序分配的内存是16M.所以来说是非常宝贵的,在创建应用的时候要尽可能的去节省内存,但是在加载一些大的文件的时候,比如图片是相当耗内存的,一个1.3M的图片,分辨率是2560X1920(宽X高)图片当加载到手机内存的时候就会请求19M的一块内存,这是远远超出了系统自带的内存空间,这时候应用程序就会挂掉,所以我们要进行图片的缩放处理,下面我就来带大家创建一个用来图片缩放的应用: 应用效果图如下: 核心代码的实现: package com.examp.loadp

IE9下PDF图片无法正常打开

当网页是用pdf显示图片时,其他浏览器下点击照片可以正常预览照片.但是IE9下确实显示:点击照片,下载保存照片.而且点击下载或者查看后,无法显示正常的图片. 具体如下: 解决方法步骤: a.这个图片是个pdf格式的,IE9上面没有打开pdf的软件,需要安装一个Adobe Reader XI b.安装后可能显示"Access denied"(拒绝访问),这时需要在adobe reader >编辑〉首选项〉因特网〉把所有的勾都打上 c.将电脑注销,重新开启即可正常访问. IE9下PD

Android学习之输出HTML格式下的文字方法详解

在Android开发中,我们经常会用到TextView这个控件,在使用的过程中,我们用到最多的方法就是setText(),单纯的使用基本上能够满足我们日常的需求,但是有时候我们需要对文字进行一些处理,比如说加粗.斜体.下划线等等,这些也都是可以通过Android提供的原生方法完成.但是如果我们需要实现下面的效果呢: HTML下的文字解析(快速版) 从图片上我们可以看到,这段文字分别有 两种大小,三种颜色 .我们当然可以定义多个TextView来实现这样的效果,但是如果我们的文字变化较多,那么定义

Android 下压缩图片—微弱失真

Android下压缩图片的方法: 大概能将3M左右的图片压缩到100K左右, 几乎不失真. 代码如下: import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; import android.graphics.Bitmap; import android.graphics.BitmapFactory; public class BitmapUtil { /

IE下及标准浏览器下的图片旋转(一)——滤镜,CSS3

关于图片的旋转,一般来说有3种解决方案:(1)滤镜 (2)css3 (3)canvas.接下来逐一讲解. 为了方便理解,我们主要以90度整倍数讲解,兼顾其他角度. 1. 滤镜(IE专属) 1.1 旋转滤镜 语法如下: filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=i); rotation取值0(0或360度),1(90度),2(180度),3(270度).取其他数无效. 旋转90度示例: css: #box {     

测试不同格式下depth buffer的精度

这篇文章主要是参考MJP的"Attack of The Depth Buffer",测试不同格式下depth buffer的精度. 测试的depth buffer包含两类: 一是非线性的depth buffer,存储着perspective z(也就是最常用的,透视投影后归一化的z/w的buffer),二是线性的depth buffer,存储着view space z(这里的线性指的是在view space 中是否线性).测试的格式包括16位浮点数,32位浮点数,16位定点数,还有最常

Linux入门(13)——Ubuntu16.04下将图片和pdf互转

Ubuntu16.04下将图片和pdf互转 将图片转为PDF: convert 图片 PDF convert pic.jpg pic.pdf 将PDF转为图片: convert PDF 图片 convert pic.pdf pic.jpg 但这样转出来的图片不怎么清晰,可以进一步设置参数. convert -verbose -resize 1000 -interlace none -density 300 -quality 300 main.pdf main.jpg 或者: convert -d