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

19 vues (au cours des 30 derniers jours)
David Olofsson
David Olofsson le 1 Avr 2020
Commenté : debojit sharma le 15 Juin 2023
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.

Réponses (2)

James Latshaw
James Latshaw le 25 Mar 2022
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 commentaires
debojit sharma
debojit sharma le 15 Juin 2023
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 le 15 Juin 2023
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

Connectez-vous pour commenter.


Srivardhan Gadila
Srivardhan Gadila le 7 Avr 2020
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 commentaires
AMIR KHAN
AMIR KHAN le 24 Mar 2021
I am getting the error as shown in the screenshot. Why it is showing the reshaping error.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Image Data Workflows dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by