Caffe中均值文件的问题
关于均值文件
(1) 在Caffe中作classification时经常需要使用均值文件,但是caffe自己提供的脚本只能将图像数据转换为
binaryproto类似的形式
(2) 我们在使用python接口时需要将npy形式的均值文件导入进来,而非binaryproto这样的均值文件
均值文件形式之间的转换
google类以下发现可以使用如下的代码进行转换:
代码是我自己实际使用的,有注释
import PIL
import Image
import sys
import time
import os
import numpy as np
from matplotlib import pyplot as plt start = time.time()# Make sure that caffe is on the python path
caffe_root = '/home/gavinzhou/caffe-master/'
sys.path.insert(0, caffe_root + 'python')import caffe
# "source" is the binary file converted by the command shell
# "des" is the binary file with python format converted from "source"
source = caffe_root + 'gavinzhou_LAB/alexnet/GF18_mean.binaryproto'
des = caffe_root + 'gavinzhou_LAB/alexnet/GF18_mean.npy'# BlobProto object
blob = caffe.proto.caffe_pb2.BlobProto()
data = open( source , 'rb' ).read()
# parsing source data
blob.ParseFromString(data)
# convert to npy format
arr = np.array( caffe.io.blobproto_to_array(blob) )
out = arr[0]
# save the converted result
np.save( des , out )
实际测试时,验证数据集使用binaryproto形式的均值文件和测试数据集使用npy形式的均值文件时,正确率基本一样(差异很小但是还是验证集合稍高)
写在后面
从零开始玩deep learning确实很不容易,不过坚持下来就有收获,类似于这种问题虽然很小可是对于入门的learner(比如我)来说,还是要费一番功夫的,特此写出供遇到和我一样问题的人参考,大家共同努力吧!!!
Caffe中均值文件的问题相关推荐
- Caffe源码中Solver文件分析
Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/solver.hpp文件的 ...
- 浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别
浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别 标签: caffe深度学习CaffeNet 2016-11-02 16:10 1203人阅读 评论(1) ...
- Caffe︱构建lmdb数据集、binaryproto均值文件及各类难辨的文件路径名设置细解
Lmdb生成的过程简述 1.整理并约束尺寸,文件夹.图片放在不同的文件夹之下,注意图片的size需要规约到统一的格式,不然计算均值文件的时候会报错. 2.将内容生成列表放入txt文件中.两个txt文件 ...
- Caffe源码中Net文件分析
Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/net.hpp文件的内容: ...
- Caffe源码中layer文件分析
Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/layer.hpp文件的内 ...
- Caffe源码中io文件分析
Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/util/io.hpp文件 ...
- Caffe源码中blob文件分析
Caffe源码(caffe version commit: 09868ac , date: 2015.08.15)中有一些重要的头文件,这里介绍下include/caffe/blob.hpp文件的内容 ...
- Caffe源码中common文件分析
Caffe源码(caffe version:09868ac , date: 2015.08.15)中的一些重要头文件如caffe.hpp.blob.hpp等或者外部调用Caffe库使用时,一般都会in ...
- caffe中solver.prototxt文件参数解释
在训练或者微调网络时我们需要设置一些参数,在caffe中这些参数保存在sovler.prototxt文件中(当然这只是一个文件名,你也可以随意换成其他的名称).在下面的代码中以注释的形式解释每一个参数 ...
最新文章
- 敏捷个人实践第18次活动:选择朋友
- 只要尝试过飞,日后走路也会仰望天空
- bootanimation文件名_Android开机logo制作
- CCKS-2017 行业知识图谱构建与应用-下篇
- SpringBoot+AntV实现饼状图中的花瓣图
- tomcat占用cpu比较多
- 定时执行程序-Quartz简单实例
- Wireshark 抓包分析 RTSP/RTP/RTCP 基本工作过程
- __call__方法解析
- 数据分箱3——决策树分箱(有监督)
- 恕我直言,你可能误解了微服务
- 轻量级ORM框架 Bankinate
- 基于Java的在线购书系统
- AX2012 R3 Data upgrade checklist sync database step, failed to create a session;
- 机器视觉,运动控制,C#联合雷赛运动控制卡,C#联合凌华控制 卡源码
- win7精简_微软从未公开的win10版本,3GB+极度精简,老爷机总算有救了!
- c语言字符串拼接变量,C语言实现字符串拼接
- 计算机仿真软件multisim,电路仿真软件哪个好?2019电路仿真软件推荐
- ESP32 学习笔记(七)I2S - Inter—IC Sound
- 阿里云总监课,存储系统设计——NVMe SSD性能影响因素一探究竟