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

3 次查看(过去 30 天)
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:

类别

Help CenterFile Exchange 中查找有关 Recognition, Object Detection, and Semantic Segmentation 的更多信息

Community Treasure Hunt

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

Start Hunting!