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

조회 수: 3 (최근 30일)
LINGJUN KONG
LINGJUN KONG 2017년 7월 20일
댓글: LINGJUN KONG 2017년 7월 25일
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?

답변 (1개)

Carl
Carl 2017년 7월 25일
편집: Carl 2017년 7월 25일
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!