Reading MNIST : Error using fread Invalid file identifier. Use fopen to generate a valid file identifier.
2 views (last 30 days)
Show older comments
Hello, l'm using MATLAB R2017b. l get error while reading MNIST dataset
Here is my function to read MNIST data
function [X_tr, X_te] = read_mnist(path_to_mnist)
D=10;
maxclasses=(0:D-1)';
[labels] = readidx(fullfile(path_to_mnist,'mnist','train-labels-idx1-ubyte'),60000,60000);
[xifres] = readidx(fullfile(path_to_mnist,'mnist','train-images-idx3-ubyte'),60000,60000);
X_tr = cell(D,1);
tmp32=zeros(32);
for d=1:D
sli=find(labels==maxclasses(d));
X_tr{d} = zeros(1024,length(sli));
for s=1:length(sli)
tmp=xifres(:,sli(s));
tmp32(3:30,3:30)=reshape(tmp,28,28);
X_tr{d}(:,s) = tmp32(:);
end
end
clear labels;
clear xifres;
[xifres] = readidx(fullfile(path_to_mnist,'mnist','t10k-images-idx3-ubyte'),10000,10000);
[labels] = readidx(fullfile(path_to_mnist,'mnist','t10k-labels-idx1-ubyte'),10000,10000);
X_te = cell(D,1);
for d=1:D
sli=find(labels==maxclasses(d));
X_te{d} = zeros(1024,length(sli));
for s=1:length(sli)
ind = 1+floor(rand(1)*length(sli)) ;
tmp=xifres(:,sli(ind)) ;
tmp32(3:30,3:30)=reshape(tmp,28,28);
X_te{d}(:,s) = tmp32(:);
end
end
end
l get error when calling this function :
path_to_mnist = '/home/mazari/Téléchargements/mnist';
[X_tr, X_te] = read_mnist(path_to_mnist);
error is :
Error using fread
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in readidx (line 6)
magic = fread(fid, 1, 'int32');
Error in read_mnist (line 6)
[labels] = readidx(fullfile(path_to_mnist,'mnist','train-labels-idx1-ubyte'),60000,60000);
0 Comments
Answers (1)
Hamza Mehboob
on 22 Oct 2018
Usually when you unzip MNIST files they use a dot '.' instead of '-' for example t10k-images.idx3-ubyte, rename it manually to t10k-images-idx3-ubyte. It resolved my error.
0 Comments
See Also
Categories
Find more on FPGA, ASIC, and SoC Development in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!