Matrix Input Layer for Deep Neural Networks

43 views (last 30 days)
I would like to be able to use the trainNetwork function to train a deep neural network on a matrix. It is not sequence data or an image and I know the only available input layers the deep networks provide is the imageInputLayer and the sequenceInputLayer. Is there any way that I can input a matrix to classify rather than the other two? Thanks in advance.

Answers (2)

The wonderful thing about Matlab is that almost everything is seen as matrices or vectors, in fact this is not a disadvantage but one of its greatest strengths, therefore, a grayscale image is a 2d matrix for Matlab, a picture Color is a 3D matrix. The answer then is yes, you can use imageInputLayer to train your matrices, in fact all the procedure that occurs within deep learning in the case of images are operations with matrices.
Maybe your matrices that you want to classify are images and you have not noticed! ,
try somehow graphing your matrices and maybe your your own brain will find patterns to classify
Now in the practical case For example, if you have a 50x28 matrix :
inputlayer = imageInputLayer ([50 28], 'Name', 'entry')
or 50,28 in InputSize in the Deep Network Designer
I hope that when you see my answer in the matrix of your screen, your convolutional networks classify me as a good contributor
  1 Comment
Gian-Andrea Heinrich
Gian-Andrea Heinrich on 4 Mar 2020
If I understood LMs question right, he has one m x n matrix containing m samples with n-1 features each and one target. (at least, this is my usecase)
Thus, matlab thinks I am inputing just one image. Even if I set the input layer to [n-1 1]. Probably, I need to reshape my matrix.

Sign in to comment.

Xiaoliang Tang
Xiaoliang Tang on 18 Nov 2020

Community Treasure Hunt

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

Start Hunting!

Translated by