Converting 4D matrix to 2D

2 views (last 30 days)
Sivaramakrishnan Rajaraman
I'm extracting features from pre-trained CNNs. The size of the extracted feature matrix is in 4-D. The extracted features are then used to train a linear classifier. The extracted features have dimensions (1,1,1024,200) (in general m,n,p,q) where 1024 is the dimension of the features and 200 is the number of images. I'd like to extract only the p and q components,leaving behind the first and second dimensions. I tried to use Squeeze function but it doesn't help. Kindly help me with the syntax to obtain only the 2-dimensions (i.e.)(1024,200).
  2 Comments
Matt J
Matt J on 28 Nov 2017
Try the squeeze function again. There's no reason it shouldn't have worked.
Sivaramakrishnan Rajaraman
The squeeze function works only at the 'avg_pool' layer, just before the softmax. It doesn't show any error when applied to the earlier layers, however, the dimensions remain unchanged. ResNet50 is a DAG network. Does that have anything to do with restricting the usage of Squeeze in the earlier layers?

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!