Caffe_Manual icon indicating copy to clipboard operation
Caffe_Manual copied to clipboard

想请问一下作者,如何获取不同图像的fc7层特征呢,想用这个特征来训练分类器。

Open ghost opened this issue 10 years ago • 13 comments

ghost avatar Aug 10 '15 12:08 ghost

将不同的图像组成一个文件列表,用image_data层,具体见get_features.cpp文件

shicai avatar Aug 10 '15 13:08 shicai

你好,看了cpp文件,资质愚钝还是没能完全看懂命令参数,get_features命令需要六个参数,依次是prototxt文件、caffemodel文件、特征层索引参数(fc7)还有三个是什么参数呢,没有看明白,那个file_list.txt应该放在哪里呢,还有最后的matlab函数sc_load是做什么的呢,里面的参数filename是什么含义呢。烦请作者有时间解答一下,谢谢啦。

在 2015-08-10 21:43:23,"shicai" [email protected] 写道:

将不同的图像组成一个文件列表,用image_data层,具体见get_features.cpp文件

— Reply to this email directly or view it on GitHub.

ghost avatar Aug 11 '15 05:08 ghost

我按照参数的顺序,依次解释下: [0] get_features.exe,文件名,第一个参数 [1] feat.prototxt,注意file_list.txt在这里的image data layer用到,注意看cpp文件的第22行 [2] caffemodel [3] 6这里是迭代次数的意思,这个数字乘以cpp文件的第23行的batch size,必须等于file_list.txt中图像总数 [4] conv1,fc7,prob,argmax 这里是需要提取特征的层的名字,在feat.prototxt中找,用英文逗号分隔,注意不要有空格 [5] conv1.dat,fc7.dat,prob.dat,argmax.dat 对应上面特征,是将每层特征保存的文件名字,同样逗号分隔,不要空格 [6] GPU 这里有2个选项:GPU或者CPU模式 [7] 0 如果用GPU模式,指定用哪个gpu,从0开始计数

其他:matlab函数sc_load是用来读取特征文件的,比如你将prob层特征存为prob.dat,用sc_load读取就可以了:prob = sc_load('prob.dat');

shicai avatar Aug 11 '15 05:08 shicai

又仔细读了代码成功实现了特征提取,刚才还是我自己看的不够仔细,感谢作者耐心的指导!

ghost avatar Aug 11 '15 08:08 ghost

请问一下 这个是在windows下还是在linux也能用呢?

mengfanr avatar Oct 10 '15 13:10 mengfanr

@mengfanr 取决于你的caffe,你若是在windows和linux下都编译好caffe,那就都能用

shicai avatar Oct 10 '15 13:10 shicai

如果我只提取最后一层的特征,能否把参数[4]和[5]直接去掉呢?不写提取哪一层的特征是不是默认就是最后一层

GengCauWong avatar Oct 22 '15 08:10 GengCauWong

@xxlylf 不可以,提取特征必须指定那一层的名字。不写的话,不会提取任何特征。

shicai avatar Oct 22 '15 15:10 shicai

想请问一下作者 这个输出的dat格式的特征数据,有没有c++工具能读取并把它写成libsvm可以读取的格式呢?

ghost avatar Oct 25 '15 13:10 ghost

@howard327 数据存储格式是行、列、特征,所以直接用fread读入float就可以了

shicai avatar Oct 26 '15 01:10 shicai

好的,知道啦,太感谢啦。

发自我的 iPhone

在 2015年10月26日,9:55,shicai [email protected] 写道:

@howard327 数据存储格式是行、列、特征,所以直接用fread读入float就可以了

― Reply to this email directly or view it on GitHub.

ghost avatar Oct 26 '15 05:10 ghost

您好,请问按照您的方法操作,出现这个错误是什么原因呢?default

GengCauWong avatar Oct 29 '15 13:10 GengCauWong

@xxlylf the number of rows and cols doesn't match the shape of data. please double check the value of rows and cols.

shicai avatar Oct 30 '15 03:10 shicai