1

MatlabでOCRプロジェクトに取り組んでいますが、MNIST手書き数字データベースという名前の文字サンプルデータベースがあることがわかりました。名前の付いたファイルをダウンロードしましtrain-images.idx3-ubyte たが、使用方法がわかりません。このファイルの使用方法を知っている人はいますか?

4

3 に答える 3

2

MNISTデータベースからダウンロードするファイルはバイナリファイルです。それらのフォーマットはMNISTWebサイトで見つけることができます:http://yann.lecun.com/exdb/mnist/

fopenfclosefreadfseekなどのMATLABの低レベルファイルI / O関数を使用して、ファイルをその形式に従って読み取ります。

FileExchangeのreadMNIST関数を使用することもできます。私はそれを使った経験がなく、何人かのユーザーはそれに関していくつかの問題を抱えているようですが、あなたはコードを見てそれをデバッグすることができます。

于 2012-08-31T19:36:17.513 に答える
2

スタンフォードのmnistHelper関数を使用できます。

これらの関数の使用方法の例として、次のコードを使用して画像とラベルを確認できます。

% Change the filenames if you have saved the files under different names
% On some platforms, the files might be saved as 
% train-images.idx3-ubyte / train-labels.idx1-ubyte

images = loadMNISTImages('train-images-idx3-ubyte');
labels = loadMNISTLabels('train-labels-idx1-ubyte');

% We are using display_network from the autoencoder code

display_network(images(:,1:100)); % Show the first 100 images
disp(labels(1:10));
于 2014-10-12T12:10:09.893 に答える
0
You Can read MNISTImages like this-

trlblid = fopen('train-labels.idx1-ubyte');    
trimgid = fopen('train-images.idx3-ubyte');    
tslblid = fopen('t10k-labels.idx1-ubyte');    
tsimgid = fopen('t10k-images.idx3-ubyte');    

% read train labels    
fread(trlblid, 4);    
numtrlbls = toint(fread(trlblid, 4));    
trainlabels = fread(trlblid, numtrlbls);    

% read train data    
fread(trimgid, 4);    
numtrimg = toint(fread(trimgid, 4));    
trimgh = toint(fread(trimgid, 4));    
trimgw = toint(fread(trimgid, 4));    
trainimages = permute(reshape(fread(trimgid,trimgh*trimgw*numtrimg),trimgh,trimgw,numtrimg), [2 1 3]);    

% read test labels    
fread(tslblid, 4);    
numtslbls = toint(fread(tslblid, 4));    
testlabels = fread(tslblid, numtslbls);    

% read test data    
fread(tsimgid, 4);    
numtsimg = toint(fread(tsimgid, 4));    
tsimgh = toint(fread(tsimgid, 4));    
tsimgw = toint(fread(tsimgid, 4));    
testimages = permute(reshape(fread(tsimgid, tsimgh*tsimgw*numtsimg),tsimgh,tsimgw,numtsimg), [2 1 3]);    
于 2017-03-01T05:00:40.110 に答える