MNIST資料集轉為matlab可讀的mat格式

2021-09-11 21:29:16 字數 2236 閱讀 2769

mnist手寫數字影象資料庫

60000個訓練集,10000個測試集,灰度圖,大小均為28*28

資料集**:

%% mnist資料庫讀取

%讀取mnist資料集中的

train_images = readmnistimages('train-images-idx3-ubyte'); %60000個訓練集,大小為28*28*60000

test_images = readmnistimages('t10k-images-idx3-ubyte'); %10000個訓練集,大小為28*28*10000

%讀取mnist資料集中的標籤

train_labels1 = readmnistlabels('train-labels-idx1-ubyte');%標籤0~9;60000個標籤,大小為60000*1

test_labels1 = readmnistlabels('t10k-labels-idx1-ubyte'); %10000個標籤,大小為10000*1

readmnistimages.m  - 讀取資料集中的

function images = readmnistimages(filename)

%%input:

%filename - 檔名稱

%%output:

%images - 讀取到的(28*28*數)

fid=fopen(filename,'r'); %fopen()是最核心的函式,匯入檔案; 'r'代表讀入

%讀取前16個位元組(乙個位元組八位),(這兒的注釋以訓練集為例)

magic = fread(fid, 1, 'int32', 0, 'ieee-be'); %0 0 8 3 -> 00000000 00000000 00000100 00000011 -> 2051

numimages = fread(fid, 1, 'int32', 0, 'ieee-be'); %0 0 234 96 -> 60000

numrows = fread(fid, 1, 'int32', 0, 'ieee-be'); %0 0 0 28 -> 28

numcols = fread(fid, 1, 'int32', 0, 'ieee-be'); %0 0 0 28 -> 28

%讀取大小為28*28的

images = fread(fid, inf, 'unsigned char'); %sizea 輸出陣列的維度有3種引數,inf、n、[m,n],inf 代表輸出資料是列向量,檔案中每乙個元素對應乙個值

images = reshape(images, numcols, numrows, numimages);

images = permute(images,[2 1 3]);%交換第一維和第二維,相當於轉置;因為是反的所以需要翻轉一下

fclose(fid);

end

readmnistlabels.m - 讀取資料集中的標籤

function labels = readmnistlabels(filename)

%%功能:讀取mnist資料集中的標籤

%%input:

%filename - 檔名

%%output:

%labels - 讀取的標籤(1*標籤數)

fid = fopen(filename,'r');

%讀取前八字節

magic = fread(fid,1,'int32',0,'ieee-be');

%或% magic = fread(fid,4);

% magic = ((magic(1)*256 + magic(2))*256+magic(3))*256 + magic(4);

numlabels = fread(fid,1,'int32',0,'ieee-be');

%讀取標籤

labels = fread(fid,inf,'unsigned char');

labels = labels';

fclose(fid);

end

資料格式(見 mnist資料集**)

簡單 mnist 資料集轉為csv格式讀取

對於剛入門ai的童鞋來說,mnist 資料集就相當於剛接觸程式設計時的 hello world 一樣,具有別樣的意義,後續許多機器學習的演算法都可以用該資料集來進行簡單測試。也給出了資料集的格式,但是要手動解析這些資料也是有點複雜的。以下 的功能是將訓練集和訓練標籤整合到乙個csv檔案裡 測試檔案同...

MNIST資料集介紹

mnist資料集包含了6w張作為訓練資料,1w作為測試資料。在mnist資料集中,每一張都代表了0 9中的乙個數字,的大小都是28 28,且數字都會出現在的正中間。資料集包含了四個檔案 t10k images idx3 ubyte.gz 測試資料 t10k labels idx1 ubyte.gz ...

Mnist資料集簡介

1,基本概念 mnist是乙個非常有名的手寫體數字識別資料集,在很多資料中,這個資料集都會被用作深度學習的入門樣例。而tensorflow的封裝讓使用mnist資料集變得更加方便。mnist資料集是nist資料集的乙個子集,mnist 資料集可在 獲取,它包含了四個部分 1 training set...