caffe网络结构解析

这篇博客详细介绍了如何使用Caffe的compute_image_mean工具计算ImageNet训练集的均值文件,该文件在训练和测试阶段用于对输入图像进行预处理。均值文件是通过对训练集求平均得到,用于减去图像背景噪声。博主通过MATLAB查看和分析均值文件内容,并提供了相关配置和转换代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、均值文件是什么:

下面是make_imagenet_mean.sh里面的内容

#!/usr/bin/env sh
# Compute the mean image from the imagenet training lmdb
# N.B. this is available in data/ilsvrc12

EXAMPLE=E:/deeplearning/caffe-master/test_myself/my_data
DATA=E:/deeplearning/caffe-master/test_myself/my_data
TOOLS=E:/deeplearning/caffe-master/Build/x64/Release

$TOOLS/compute_image_mean $EXAMPLE/my_train_leveldb \
  $DATA/imagenet_mean.binaryproto --backend=leveldb

echo "Done."


可以看出用compute_image_mean.exe执行了均值文件计算,而且只计算了my_train_leveldb 的均值,这是训练数据。
均值文件是通过训练集计算出来的,测试集不需要计算出均值文件。在训练阶段和测试阶段都是用的训练集的均值文件。
均值的理论概念参考:http://ufldl.stanford.edu/wiki/index.php/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90

看到这里,其实我也一直不明白这个均值文件到底是什么东西,里面到底是什么,存的什么数据。为此,我想用matlab来看里面的数据。
配置matlab接口参考:http://blog.youkuaiyun.com/zb1165048017/article/details/51702686
配置完进行数据转换,参考博客:http://blog.youkuaiyun.com/yihaizhiyan/article/details/27214461
自己用的代码:


mean_file = 'E:\deeplearning\caffe-master\test_myself\my_data\imagenet_mean.binaryproto';    
image_mean = caffe.io.read_mean(mean_file);% help caffe 可以查到read_mean该函数  
save 'E:\deeplearning\caffe-master\test_myself\my_data\image_mean.mat' image_mean 
得到image_mean.mat文件,文件大小为32*32*3,显然这是一张类似3通道的图。


至此,我们知道,每次训练时,输入的原始图片都要减去这张均值图片,然后才真正输入到网络中去,测试时也一样。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值