TensorFlowとPythonでFashion MNISTデータセットのモデルをトレーニングする方法
TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く活用されているフレームワークです。
Windowsに「tensorflow」パッケージをインストールするには、以下のコマンドを実行します。
pip install tensorflow
テンソル(Tensor)はTensorFlowにおける基本的なデータ構造で、フロー図のエッジ(辺)をつなぐ役割を果たします。このフロー図は「データフローグラフ」と呼ばれます。テンソルとは、要するに多次元配列またはリストのことです。
「Fashion MNIST」データセットには、さまざまな種類の衣類の画像が収録されています。10の異なるカテゴリに属する7万枚以上のグレースケール画像で構成され、各画像の解像度は28×28ピクセルと低めです。
以下のコードはGoogle Colaboratory上で実行しています。Google Colab(Colaboratory)を利用すると、ブラウザ上でPythonコードを実行でき、面倒な環境設定は一切不要です。さらにGPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。以下がそのコードです。
コード例
print("モデルをデータに適合させます")
model.fit(train_images, train_labels, epochs=15)
print("精度を計算します")
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nテスト精度:', test_acc)
コード出典 − https://www.tensorflow.org/tutorials/keras/classification
実行結果
The model is fit to the data Epoch 1/15 1875/1875 [==============================] - 4s 2ms/step - loss: 0.6337 - accuracy: 0.7799 Epoch 2/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.3806 - accuracy: 0.8622 Epoch 3/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.3469 - accuracy: 0.8738 Epoch 4/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.3131 - accuracy: 0.8853 Epoch 5/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2962 - accuracy: 0.8918 Epoch 6/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2875 - accuracy: 0.8935 Epoch 7/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2705 - accuracy: 0.8998 Epoch 8/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2569 - accuracy: 0.9023 Epoch 9/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2465 - accuracy: 0.9060 Epoch 10/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2440 - accuracy: 0.9088 Epoch 11/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2300 - accuracy: 0.9143 Epoch 12/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2255 - accuracy: 0.9152 Epoch 13/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2114 - accuracy: 0.9203 Epoch 14/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2101 - accuracy: 0.9211 Epoch 15/15 1875/1875 [==============================] - 3s 2ms/step - loss: 0.2057 - accuracy: 0.9224 The accuracy is being computed 313/313 - 0s - loss: 0.3528 - accuracy: 0.8806 The test accuracy is : 0.8805999755859375
解説
まず訓練データをモデルに入力してモデルを構築します。「train_images」と「train_labels」は入力データの配列です。
モデルは、画像とそれに対応するラベルとのマッピング関係を学習していきます。
「test_images」にはテスト用のデータが格納されています。
テストデータセットを用いると、モデルによる予測結果がテストデータセット内の実際のラベルと照合され、正答率が算出されます。
「model.fit」メソッドを呼び出すことで、モデルを訓練データセットに適合させます。引数の「epochs=15」は、訓練データ全体を15回繰り返し学習することを意味します。
「model.evaluate」関数は、学習に関連する損失(loss)と精度(accuracy)を返します。
実行結果を見ると、エポックが進むごとに損失が減少し、訓練精度が約92%まで向上していることがわかります。一方、テストデータに対する最終的な精度は約88%であり、訓練データよりやや低い値となっています。これは過学習(オーバーフィッティング)の兆候であり、実務ではドロップアウトや正則化などの手法で対策することが一般的です。
-
TensorFlowとFashion MNISTデータセットを使って、学習済みモデルでPythonによる画像予測を行う方法
TensorFlowはGoogleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く利用されており、複雑な数値計算を高速に処理するための最適化技術を備えています。これは内部でNumPyと多次元配列を使用しているためです。この多次元配列は「テンソル(tensors)」とも呼ばれます。また、TensorFlowは深層ニューラルネットワークの構築もサポートしています。Windows環境では、以下のコマンドで「tensorflow」パッケージをインスト
-
TensorFlowとPythonでFashion MNISTの予測結果を検証する方法を徹底解説
TensorFlowとはTensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、機械学習アルゴリズムやディープラーニングアプリケーションの実装が可能になります。研究用途から本番環境まで幅広く活用されています。Windows環境にTensorFlowをインストールするには、以下のコマンドを実行します。pip install tensorflowFashion MNISTデータセットについて「Fashion MNIST」データセットには、さまざまな種類の衣類の画像が含まれています。10の異なるカテゴリに