How to train a network with non-image data(MNIST)?

1 Ansicht (letzte 30 Tage)
LINGJUN KONG
LINGJUN KONG am 20 Jul. 2017
Kommentiert: LINGJUN KONG am 25 Jul. 2017
I'm trying to train a CNN for MNIST. As we all know, the MNIST data is not a image format. I have already trans them to a 60000*784 matrix. with a 60000*1 label. in libsvm we can use it directly and in the Neural Network toolbox(nnstart) could also use it directly.
But for a CNN network. the only training function is "trainNetwork" it could only support image for its input.
so how could i train the MNIST on Matlab? Must I translate all the 60000+10000 data back to image?

Antworten (1)

Carl
Carl am 25 Jul. 2017
Bearbeitet: Carl am 25 Jul. 2017
In order to train your CNN, you must provide the images in a 4D array. See the documentation here:
In the case of MNIST data, the images are 28x28, and have only 1 channel. There are 60000 images. Therefore, you want to pass the images as a 28x28x1x60000 array.
% X = 60000x784 array of MNIST data
X = reshape(X', 28, 28, 1, 60000);
See here for more on using the reshape function:

Community Treasure Hunt

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

Start Hunting!