I cannot find the helper functions "processImagesMNIST" and "processLabelsMNIST"

15 次查看(过去 30 天)
In the documentation linked below ("Train Variational Autoencoder (VAE) to Generate Images") the two helper functions, mentioned in the title of this question, are said to be attached in the example and they are supposed to read the MNIST files and store them in MATLAB arrays.
However, I cannot find these helper functions and I have searched everywhere without result. I used some other loading functions instead but then I encounter problems when trying to implement the images correctly, probably because of dimension problems in the input data.
Thankful if somebody can help me find the functions or similar ones which can work in the example code in the link below.

回答(2 个)

James Latshaw
James Latshaw 2022-3-25
Matlab does a terrible job keeping up with the MNIS support as they upate versions.
But you can make a new function like the one below that will work for you :)
function X = processLabelsMNIST(filename)
dataFolder = fullfile(tempdir,'mnist');
gunzip(filename,dataFolder)
[~,name,~] = fileparts(filename);
[fileID,errmsg] = fopen(fullfile(dataFolder,name),'r','b');
if fileID < 0
error(errmsg);
end
magicNum = fread(fileID,1,'int32',0,'b');
if magicNum == 2049
fprintf('\nRead MNIST label data...\n')
end
numImages = fread(fileID,1,'int32',0,'b');
fprintf('Number of labels in the dataset: %6d ...\n',numImages);
X = fread(fileID,inf,'unsigned char');
X = reshape(X,[1,size(X,1)]);
%X = reshape(X,numCols,numRows,numImages);
%X = permute(X,[2 1 3]);
%X = X./255;
%X = reshape(X, [28,28,1,size(X,3)]);
fclose(fileID);
end
  2 个评论
debojit sharma
debojit sharma 2023-6-15
If I have stored my image dataset in a folder( that contains subfolders of 4 classes of images) then how can I prepare my dataset as per the function processLabelsMNIST
debojit sharma
debojit sharma 2023-6-15
If I have stored my image dataset in a folder( that contains subfolders of 4 classes of images) then how can I prepare my dataset as per the function processLabelsMNIST. That is after loading the images using the imagedatastore function how to convret the training images in a format suitable for processLabelsMNIST

请先登录,再进行评论。


Srivardhan Gadila
The Example you are referring to is w.r.t MATLAB R2020a. I have found that there have been some changes in the example.
Alternatively you can run the following command in the command window to open the example:
openExample('nnet/GeneratingHanddrawnDigitsUsingAVariationalAutoencoderVAEExample')
Based on your MATLAB version you can find the respective helper functions.
  4 个评论
AMIR KHAN
AMIR KHAN 2021-3-24
I am getting the error as shown in the screenshot. Why it is showing the reshaping error.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Data Workflows 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by