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

21 Ansichten (letzte 30 Tage)
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.

Antworten (2)

James Latshaw
James Latshaw am 25 Mär. 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 Kommentare
debojit sharma
debojit sharma am 15 Jun. 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 am 15 Jun. 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

Melden Sie sich an, um zu kommentieren.


Srivardhan Gadila
Srivardhan Gadila am 7 Apr. 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 Kommentare
AMIR KHAN
AMIR KHAN am 24 Mär. 2021
I am getting the error as shown in the screenshot. Why it is showing the reshaping error.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by