caffe学习笔记2_用一个预训练模型提取特征

         在完成了深度学习框架Caffe的环境配置之后,从网上收集了一些caffe学习笔记(来自薛开宇的读书笔记),可以帮助我们进入深度学习的殿堂。博主从该读书笔记中有所收获,并且自己动手实践过,若无意侵犯了原创作者权益,还请告知删除。


读书笔记2 用一个预训练模型提取特征

2014.7.21薛开宇

本学习笔记的作用在于为后面打基础,没有什么实际的东西可以观测到,要可视化特征还要观看后面的教程。

2.1 制作一个数据库

先做一个临时文件夹存放东西。

mkdir examples/_temp



我们为两张在images文件夹的照片生成一个文件列表(默认为一张图片,cat1是我随意加上去的)



find `pwd`/examples/images -type f -exec echo {} \; > examples/_temp/temp.txt

我们将使用imagedatalayer预计标签之后的每一个文件名,所以让我们添加一个0到每一行的末尾

sed "s/$/ 0/" examples/_temp/temp.txt > examples/_temp/file_list.txt

这样,我们将得到两个文件temp.txt和file_list.txt。



2.2.定义特征提取网络结构

在实践中,从一个数据集中减去均值图像对于提高分类准确性很重要,因此从ILSVRC dataset中下载均值图像数据库



data/ilsvrc12/get_ilsvrc_aux.sh

我们将使用其中的data/ilsvrc212/imagenet_mean.binaryproto去定义网络结构。 将定义结构的文件cope到我们的临时文件夹。

cp examples/feature_extraction/imagenet_val.prototxt examples/_temp

然后,我们进入imagenet_val.prototxt更改路径。更改其中$CAFFE_DIR的地方

下图是我做的改动。



2.3.提取特征

执行指令

build/tools/extract_features.bin examples/imagenet/caffe_reference_imagenet_model examples/_temp/imagenet_val.prototxt fc7 examples/_temp/features 10

其中 fc7是最高层的特征,我们也可以使用其他层提取,像conv5或pool3

最后的参数是数据的批次

特征保存在LevelDB examples/_temp/features ,可以运用到其他代码了。

这里可以发现,特征文件中5个文件和cifar10中的leveldb是相似的。

_temp下features



cifar10下特征数据库



因此,这是我们训练时组建模型时必要的文件。

2.4.注意

当存在features文件夹时将出现错误,这时需要移除该文件夹。

资料来源: caffe官网教程



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值