No appropriate method, property, or field 'blobs' for class 'SeriesNetwork'
1 次查看(过去 30 天)
显示 更早的评论
I am getting error No appropriate method, property, or field 'blobs' for class 'SeriesNetwork' when I execute this instruction data = net.blobs('conv5').get_data();. Could you help me please?
13 个评论
Tripoli Settou
2018-2-4
I need it to get the data from last convolution layer (ex: Conv5)in Convolutional Neural Networks (CNN)
Walter Roberson
2018-2-4
SeriesNetwork have a 'Layers' property: is that what you were looking for instead of 'blobs' ?
Tripoli Settou
2018-2-4
I want to get the output of last convolution layer in CNN, so I found some people use this instruction : data = net.blobs('conv5').get_data();
But when I try it, this error appears: No appropriate method, property, or field 'blobs' for class 'SeriesNetwork
Walter Roberson
2018-2-4
where did you find that some people use that? I want to look at the context.
Tripoli Settou
2018-2-4
编辑:Walter Roberson
2018-2-4
As I said previously I want to get the output data from the last convolution layer in CNN .. So to do that i found some people use this instruction with Caffe library.. this is the code
feats=[];
for i=1: Number of images
Img = get_Image_path(i); % get image from dataset images
Img= imresize(Img,[224,224]);
image{1}=Img;
score=net.forward(image);
score = score{1};
data = net.blobs('conv5_3').get_data();
data = reshape(data, 14*14, 512);
feats(:,:,i) = data; % this the output data of the last conv layer (conv5_3)
end
Could you help me to get the output data of the last layer?! Can i get it without caffe library? All the best
Walter Roberson
2018-2-4
"Caffe" is a key point here.
In Caffee, blobs are memory arrays holding data for communication with the CPU and GPU algorithms; see http://caffe.berkeleyvision.org/tutorial/net_layer_blob.html
Neural Networks in MATLAB do not use blobs: they use objects (or structs) that have properties, many of which are cell arrays holding relevant information. The SeriesNetwork you getting the error for is a MATLAB object that is represented without using blobs.
net.forward appears to be part of MatCaffe, described at http://caffe.berkeleyvision.org/tutorial/interfaces.html . That is a third party product that the active volunteers here do not appear to use much. Possibly something has gone wrong with your installation of that product. What shows up for
which net.forward
which net.blobs
Question for you: are you sure that get_Image_Path is returning the image in the BGR order that caffe needs? https://ahmedibrahimvt.wordpress.com/2016/04/18/caffe-in-matlab-matcaffe-simple-tutorial/ This would not affect your ability to find net.blobs, but when you solve the net.blobs problem then order of the color channels is something you will need to check.
Tripoli Settou
2018-2-5
Thank you for your reply and important links but I want to know is there another way to get a data from conv layers of CNN using Matlab built-in function ?!
Walter Roberson
2018-2-5
MATLAB does not provide any built-in functions to get the layers of a Caffe object. MatCaffe should provide those functions.
If you are referring to MATLAB convolution networks, then index the Layers property of the SeriesNetwork object with the layer number.
Tripoli Settou
2018-2-5
编辑:Walter Roberson
2018-2-5
Thank you very much,
yes i'm referring to MATLAB convolution networks also i try to extract the outputs of conv layer without caffe by using "activations" function in this code:
net = alexnet;
channels = 1:256;
Mat_Features = [];
NbrImg = 1000 % Number of images in Dataset
for i = 1: NbrImg
I = readimage(Dataset,i);
I = imresize(I,[227,227]);
Features_Map_Cv5 = activations(net,I,'conv5','OutputAs','channels');%Get the output data from last convlayer (5th conv layer in AlexNet)
Feat = reshape(Features_Map_Cv5,13*13,256);
Mat_Features = [Mat_Features ; Feat];
end
- What's your opinion about my code, is it correct?!*
Walter Roberson
2018-2-5
When you were asking about blobs before, that was a request to extract the properties of the layer you were interested in -- things like the weights. That is a different task than extracting the output when the network is applied to particular data. Since layer 5 is the last layer, the output of layer 5 is just the same as the output of the network itself when applied for any particular purpose, whereas activations would give you the features matrix after training, which is not something you had previously asked for.
The closest to what you had asked for before would be
net.Layers(5)
Tripoli Settou
2018-2-6
I want to know how can i get features "output data" of each layer. Is "activations" function can do that?? when I search, I find some people use blobs in caffe /Matlab to get features of each layer, so i want to get this features without using blobs/caffe.
Walter Roberson
2018-2-6
It does appear that activations() can return the feature outputs for a given layer. See also https://www.mathworks.com/help/nnet/examples/visualize-features-of-a-convolutional-neural-network.html
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!发生错误
由于页面发生更改,无法完成操作。请重新加载页面以查看其更新后的状态。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom(English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)