Author:Shiyipaisizuo
CODE
TensorFlow-MNIST
這是TensorFlow v2.0的MNIST數(shù)據(jù)集的分類地技,其中不僅包括公共MNIST數(shù)據(jù)集块攒,還KMNIST(日語數(shù)據(jù)集)缎玫,EMNIST(高級MNIST)外恕,F(xiàn)ASHION_MNIST(fashion dataset)译红,等等以现。在模型中匀归,我們定義了很多模型碧查,但是我們都只在這些數(shù)據(jù)集中使用lenet-5神經(jīng)網(wǎng)絡(luò)运敢。因為我覺得這就夠了。Top1的準(zhǔn)確率達到99.8%。
準(zhǔn)備工作
要求
pip install requirements.txt
您將安裝此項目所需的所有軟件包传惠。
機器要求
- GPU: 泰坦V或更高版本肤视。
- 磁盤:128G SSD。
- Python版本:python3.5或更高版本涉枫。
- CUDA: cuda10邢滑。
- CUDNN: cudnn7.4.5或更高版本。
- Tensorflow-gpu: 2.0.0-alpla0愿汰。
數(shù)據(jù)集介紹
MNIST
MNIST手寫數(shù)字數(shù)據(jù)庫(可從本頁獲得)包含一組60,000個示例的訓(xùn)練集和一組10,000個示例的測試集困后。
它是NIST提供的更大集合的子集。數(shù)字的大小已經(jīng)標(biāo)準(zhǔn)化衬廷,并以固定大小的圖像為中心摇予。
它是一個很好的數(shù)據(jù)庫,對于那些想要在實際數(shù)據(jù)上嘗試學(xué)習(xí)技術(shù)和模式識別方法吗跋,同時在預(yù)處理和格式化上花費最少精力的人來說侧戴。
本網(wǎng)站提供四個文件:
train-images-idx3-ubyte.gz:訓(xùn)練集圖像(9912422字節(jié))
train-labels-idx1-ubyte.gz:訓(xùn)練集標(biāo)簽(28881字節(jié))
t10k-images-idx3-ubyte.gz:測試集圖像(1648877字節(jié))
t10k-labels-idx1-ubyte.gz:測試集標(biāo)簽(4542字節(jié))
KMNIST
KMNIST數(shù)據(jù)集是Kuzushiji數(shù)據(jù)集的改版,是MNIST數(shù)據(jù)集的一個替代跌宛。如果您的軟件可以讀取MNIST數(shù)據(jù)集酗宋,那么通過更改設(shè)置來測試KMNIST數(shù)據(jù)集是很容易的。我們提供三種類型的數(shù)據(jù)集疆拘,即Kuzushiji-MNIST蜕猫、Kuzushiji-49、Kuzushiji-Kanji哎迄,用于不同的目的回右。
KMNIST數(shù)據(jù)集是由日本國立文學(xué)研究所(National Institute of Japanese Literature)的Kuzushiji數(shù)據(jù)集為基礎(chǔ),由ROIS-DS Center for Open Data in the Humanities (CODH)創(chuàng)建的漱挚。請參閱許可證翔烁。
GitHub: Kuzushiji-MNIST、Kuzushiji-49和Kuzushiji-Kanji存儲庫
關(guān)于Kuzushiji研究的信息可在第二屆CODH研討會上獲得:Kuzushiji挑戰(zhàn)-機器識別和人類轉(zhuǎn)錄的未來和Kuzushiji挑戰(zhàn)!此外旨涝,Kaggle有許多關(guān)于如何使用dataset的例子蹬屹。
Kaggle: Kuzushiji-MNIST | Kaggle
EMNIST
EMNIST數(shù)據(jù)集是從NIST特殊數(shù)據(jù)庫19派生出來的一組手寫字符數(shù)字,并轉(zhuǎn)換為直接匹配MNIST數(shù)據(jù)集的28x28像素圖像格式和數(shù)據(jù)集結(jié)構(gòu)颊糜。關(guān)于數(shù)據(jù)集內(nèi)容和轉(zhuǎn)換過程的進一步信息哩治,可以在本文中找到https://arxiv.org/abs/1702.05373v1。
格式
數(shù)據(jù)集以兩種文件格式提供衬鱼。數(shù)據(jù)集的兩個版本包含相同的信息,并且完全是為了方便而提供的憔杨。第一個數(shù)據(jù)集以Matlab格式提供鸟赫,可以通過Matlab和Python(使用sci .io)訪問。loadmat功能)。數(shù)據(jù)集的第二個版本以與原始MNIST數(shù)據(jù)集相同的二進制格式提供抛蚤,如http://yann.lecun.com/exdb/mnist/所述台谢。
數(shù)據(jù)總結(jié)
這個數(shù)據(jù)集中提供了六種不同的分割。數(shù)據(jù)集的簡要摘要如下:
EMNIST ByClass: 814,255個字符岁经。62個不平衡類朋沮。
EMNIST ByMerge: 814,255個字符。47個不平衡類缀壤。
EMNIST平衡:131,600個字符樊拓。47個不平衡類。
EMNIST字母:145,600個字符塘慕。26個不平衡類筋夏。
EMNIST數(shù)字:280,000個字符。10個不平衡類图呢。
EMNIST MNIST: 70000個字符条篷。10個不平衡類。
NIST特殊數(shù)據(jù)庫19的完整補充在ByClass和ByMerge拆分中可用蛤织。EMNIST平衡數(shù)據(jù)集包含一組字符赴叹,每個類具有相同數(shù)量的樣本。EMNIST字母數(shù)據(jù)集將一組平衡的大寫字母和小寫字母合并到一個26類任務(wù)中指蚜。EMNIST數(shù)字和EMNIST MNIST數(shù)據(jù)集提供了與原始MNIST數(shù)據(jù)集直接兼容的平衡手寫數(shù)字數(shù)據(jù)集稚瘾。
有關(guān)數(shù)據(jù)集結(jié)構(gòu)的詳細信息,請參閱EMNIST文件[PDF BIB]姚炕。
訓(xùn)練
打印幫助
python train.py -h
快速使用
python train.py --name lenet --dir training_checkpoint
您將快速訓(xùn)練一個分類MNIST數(shù)據(jù)集的模型摊欠。
可選項:
使用其他數(shù)據(jù)
python train.py --dataset emnist --classes 62 --name lenet --dir training_checkpoint
使用特定的訓(xùn)練迭代
python train.py --epochs 10 --dataset emnist --classes 62 --name lenet --dir training_checkpoint