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

21 ビュー (過去 30 日間)
David Olofsson
David Olofsson 2020 年 4 月 1 日
コメント済み: debojit sharma 2023 年 6 月 15 日
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
Srivardhan Gadila 2020 年 4 月 7 日
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 Center および File ExchangeImage Data Workflows についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by