【Fashion-MNIST】ファッションアイテムのデータセットを使ってみた【TensorFlow】
公開日:
:
最終更新日:2022/03/15
機械学習 Fashion-MNIST, PyTorch, TensorFlow, データセット, ファッションアイテム
今回は、機械学習用に公開されているデータセットの1つである「Fashion-MNIST」について紹介します。
手書き数字データセットに「MNIST」という有名なものがありますが、「Fashion-MNIST」はそれのファッションアイテム版です。
以下の10種類のアイテムが入っています。
※数字はラベルを表しています。
- 0:Tシャツ
- 1:ズボン
- 2:プルオーバー
- 3:ドレス
- 4:コート
- 5:サンダル
- 6:シャツ
- 7:スニーカー
- 8:バッグ
- 9:アンクルブーツ
今回は、TensorFlow を使って読み込みをしていますが、PyTorch でも同様に読み込みができます。
Contents
データセットのロード
以下のようにデータセットのロードを行います。
1 2 |
from tensorflow.keras.datasets import fashion_mnist (x_train, y_train), (x_test, y_test) = fashion_mnist.load_data() |
初回のみ、データセットのダウンロードが行われます。
1 2 3 4 5 6 7 8 |
Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz 32768/29515 [=================================] - 0s 0us/step Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz 26427392/26421880 [==============================] - 8s 0us/step Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz 8192/5148 [===============================================] - 0s 0us/step Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz 4423680/4422102 [==============================] - 1s 0us/step |
読み込んだデータの形状
以下のようにデータ形状を調べます。
1 2 3 4 |
print(x_train.shape) # 出力:(60000, 28, 28) print(y_train.shape) # 出力:(60000,) print(x_test.shape) # 出力:(10000, 28, 28) print(y_test.shape) # 出力:(10000,) |
以下のように出力されます。
1 2 3 4 |
(60000, 28, 28) (60000,) (10000, 28, 28) (10000,) |
ファッションアイテム画像は、28×28ピクセルのモノクロ画像です。
y_train, y_test には、正解ラベル(0~9の値)が入っています。
x_train, y_train は、3階テンソル(データセットの数, 28, 28)となっています。
ファッションアイテム画像一覧表示
ファッションアイテム画像を100枚表示させます。
10列×10行で一覧表示させます。軸のメモリは非表示にします。
また、X軸のラベルに、ファッションアイテム名が表示されるようになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import matplotlib.pyplot as plt %matplotlib inline # ラベルに割り当てられたアイテム名を登録 class_names = ['T-shirt/top', 'Trouser', 'Pullover', 'Dress', 'Coat', 'Sandal', 'Shirt', 'Sneaker', 'Bag', 'Ankle boot'] plt.figure(figsize=(13,13)) # 訓練データから100枚抽出してプロットする for i in range(100): # 10×10で出力 plt.subplot(10,10,i+1) # タテ方向の間隔を空ける plt.subplots_adjust(hspace=0.3) # 軸目盛を非表示にする plt.xticks([]) plt.yticks([]) plt.grid(False) # カラーマップにグレースケールを設定してプロット plt.imshow(x_train[i], cmap=plt.cm.binary) # x軸ラベルにアイテム名を出力 plt.xlabel(class_names[y_train[i]]) plt.show() |
参考文献
関連記事
-
【Chainer】手書き数字認識をしてみた【Deep Learning】
Chainerを用いて、ニューラルネットワークを構築し、手書き数字認識を行ったときのメモです。
-
【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】
今回は、PyTorch を使って、学習済みのモデル VGG16 を用いて転移学習をしてみました。
-
【TensorFlow】GPUを認識しない時の対処方法【Python】
TensorFlow で GPU を認識させようとしたときにハマってしまったので、その対処方法のメモ
-
【Weka】ARFF 形式から CSV 形式に簡単に変換する方法。
フリーのデータマイニングツールである WEKA では、ARFF 形式と CSV 形式のデータを読み込
-
【機械学習】決定木(decision tree)について。
教師あり学習の一つである決定木(desicion tree)について勉強したことを書いていきます。
-
【Weka】フリーの機械学習ソフトをインストールする方法。
Weka は、GUIで使えるフリーの機械学習ソフトです。 https://ja.wikiped
-
【画像認識】 Google画像検索結果を取得する方法 【google image download】
今回は、深層学習(DeepLearning)で画像認識をするための画像データの収集を、Google画
-
【探索】縦型・横型・反復深化法の探索手法の比較。
探索とは、チェスや将棋や囲碁などのゲームをコンピュータがプレイするときに、どの手を指すかを決定するの
-
【機械学習】モンテカルロ法(Monte Carlo method)について。
モンテカルロ法(Monte Carlo method)とは、シュミレーションや数値計算を乱数を用いて
-
【Weka】CSVファイルを読み込んで決定木を実行。
フリーの機械学習ソフト Weka を使って、CSVファイルを読み込んで決定木(Decision Tr