C語言解析MNIST資料集

2021-08-03 18:24:54 字數 2400 閱讀 8540

**如下:

bmp.h

#ifndef bmp_h

#define bmp_h

#pragma pack(1)

typedef

struct tagbitmapfileheader

fileheader;

#pragma pack()

/*位圖資料資訊結構

*/#pragma pack(1)

typedef

struct tagbitmapinfoheader

fileinfo;

#pragma pack()

/*調色盤結構

*/#pragma pack(1)

typedef

struct tagrgbquad

rgbq;

#pragma pack()

#endif

main

#include 

#include

#include

#include "bmp.h"

using namespace std;

#define sum 10000

int main()

/*//測試集的label

file *fp11 = fopen("c:\\users\\administrator\\desktop\\data\\t10k-labels.idx1-ubyte", "rb+");

if (fp1 == null)

else

printf("------------------label--------------------------------");}*/

//讀取字符集的幻數、數量、寬、高

fread(&a, sizeof(int), 1, fp1);

fread(&num, sizeof(int), 1, fp1);

fread(&size1, sizeof(int), 1, fp1);

fread(&size2, sizeof(int), 1, fp1);/*/

/列印字符集的幻數、數量、寬、高

printf("a=%0x\n", a);

printf("num=%0x\n", num);

printf("size1=%0x\n", size1);

printf("size2=%0x\n", size2);

for (int i = 0; i < 28 * 28; i++)

*/fileheader fh;

fileinfo fi;

//編寫資訊頭fi

fi.bisize = 40;

fi.biwidth = 28;

fi.biheight = 28;

fi.biplanes = 1;

fi.bibitcount = 8;

fi.bicompression = 0;

fi.bisizeimage = 28 * 28;

fi.bixpixpermeter = 0;

fi.biypixpermeter = 0;

fi.biclrused = 0;

fi.biclrimporant = 0;

//編寫檔案頭fh

fh.bftype[0] = 0x42;

fh.bftype[1] = 0x4d;

fh.bfoffbits = sizeof(fileheader) + sizeof(fileinfo) + 256 * sizeof(rgbq);

fh.bfsize = fh.bfoffbits + fi.bisizeimage;

fh.bfreserved1 = 0;

fh.bfreserved2 = 0;

//建立調色盤

rgbq *fq = (rgbq *)malloc(256 * sizeof(rgbq));

for (int i = 0; i<256; i++)

//建立要生成的數字

file *fp2 = fopen("c:\\users\\administrator\\desktop\\data\\numbers.bmp", "wb");

if (fp2 == null)

for (int i = 1; i <= sum; i++)

}fclose(fp1);

printf("------------------------------\n");

return

0;}

結果如下:

Python解析MNIST資料集

coding utf 8 import numpy as np import struct import matplotlib.pyplot as plt def parese idx3 idx3 file idx3檔案解析方法 param idx3 file idx3檔案路徑 return 資料集...

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...