Is it possible to reshape a vector into 3D matrix

16 次查看(过去 30 天)
I have a conv layer output which is 13x13x256. I have gotten the output feature of this layer using activations function in matlab as:
Feature = activations (net, trainingset, 15);
The feature is a vector equal to 43264. I need to re-enter this vector to the next layer which has an input size 13x13x256.
So how could I do that, should I reshape the feature vector to 13x13x256 matrix? how I do that?
Help me and thank you

回答(1 个)

Stephen23
Stephen23 2017-11-17
编辑:Stephen23 2017-11-17
Use reshape:
>> V = rand(1,43264);
>> A = reshape(V,13,13,256);
  3 个评论
Stephen23
Stephen23 2017-11-17
编辑:Stephen23 2017-11-17
@Mammo Image: Whatever the number of elements the input array has, the reshaped array must contain exactly the same number of elements. So if you provide this:
V = rand(1,43264);
W = [V,V];
then you can do any of these:
A = reshape(W,2*13,13,256);
A = reshape(W,13,2*13,256);
A = reshape(W,13,13,2*256);
and no doubt many other sizes as well. Which one you want depends on your algorithm, which you have explained absolutely nothing about.
Mammo Image
Mammo Image 2017-11-17
编辑:Mammo Image 2017-11-17
Thank you again, I have mentioned that I am using conv layer in deep learning (alexnet) and got the feature from the conv layer with dimension 43264, the thing is I want to feed these feature into another layer which it's input size should be 13x13x256.
for that reason, I am wondering if I did some change in the size of these features (for example concatenation with others), so then, is it possible to be as 13x13x256 to be suitable input for the second layer.
I think the second answer will give 26x13x256 which is not suitable input for the second conv layer.
Thanks

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by