MNIST データセットのフォーマット
MNISTとは
画像認識の機械学習でよく用いられる手書き文字のデータセット.
8bitのグレースケール画像であり,サイズは28x28
MNISTデータセット
下からダウンロードできる yann.lecun.com
それぞれバイナリファイルなのでemacsなどのエディタで普通に開いても中のデータを見ることはできない
- train-images-idx3-ubyte.gz :トレーニングセットのイメージデータ (60000セット)
- train-labels-idx1-ubyte.gz :トレーニングセットのラベルデータ (60000セット)
- t10k-image-idx3-ubyte.gz :テストセットのイメージデータ (10000セット)
- t10k-labels-idx1-ubyte.gz :テストセットのラベルデータ (10000セット)
データセットのフォーマット
イメージファイル
$ gzip -d train-images-idx3-ubyte.gz $ xxd train-images-idx3-ubyte | head -n2 00000000: 0000 0803 0000 ea60 0000 001c 0000 001c .......`........ 00000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
- マジックナンバー (0x00000803) : 32bit
- データ数 (60000 or 10000) : 32bit
- 次元0 のサイズ (28) : 32bit
- 次元1 のサイズ (28) : 32bit 以降データの画素[0][0]から順に符号なし8bitでデータが並ぶ
ラベルファイル
$ gzip -d train-labels-idx1-ubyte.gz $ xxd train-labels-idx1-ubyte | head -n2 00000000: 0000 0801 0000 ea60 0500 0401 0902 0103 .......`........ 00000010: 0104 0305 0306 0107 0208 0609 0400 0901 ................
- マジックナンバー (0x00000801) : 32bit
- データ数 (60000 or 10000) : 32bit 以降8bitずつラベルデータが入る
※イメージファイルの順にラベルデータが入っているので順番は大切