Python
 Computer >> コンピューター >  >> プログラミング >> Python

TensorFlowとPythonでFashion MNISTデータセットの予測を行う方法【初心者向け解説】

TensorFlowとは

TensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、アルゴリズムの実装やディープラーニングアプリケーションの開発など、幅広い用途に活用できます。研究目的から本番環境での運用まで対応しており、複雑な数値計算を高速に実行するための最適化技術が組み込まれています。これは内部でNumPyと多次元配列を使用しているためです。この多次元配列は「テンソル(tensor)」とも呼ばれます。

Windows環境にTensorFlowをインストールするには、以下のコマンドを実行します。

pip install tensorflow

テンソルはTensorFlowにおける基本的なデータ構造であり、データフローグラフ(Data Flow Graph)と呼ばれる計算グラフのエッジ(辺)をつなぐ役割を果たします。テンソルの正体は、多次元配列またはリストそのものです。

Fashion MNISTデータセットについて

「Fashion MNIST」データセットには、さまざまな種類の衣類の画像が含まれています。10の異なるカテゴリに属する7万枚以上のグレースケール画像で構成されており、各画像の解像度は28×28ピクセルと低めに設定されています。

本記事のコードはGoogle Colaboratory(Google Colab)上で実行しています。Google Colabを使えば、ブラウザ上でPythonコードを実行でき、面倒な環境設定は一切不要です。さらにGPU(グラフィックス処理装置)への無料アクセスも可能で、Jupyter Notebookをベースに構築されています。

予測を行うコード例

以下は、学習済みモデルを使って予測を行うコードスニペットです。

probability_model = tf.keras.Sequential([model,
                                         tf.keras.layers.Softmax()])
predictions = probability_model.predict(test_images)
print("The predictions are being made ")
print(predictions[0])

np.argmax(predictions[0])
print("The test labels are")
print(test_labels[0])

def plot_image(i, predictions_array, true_label, img):
  true_label, img = true_label[i], img[i]
  plt.grid(False)
  plt.xticks([])
  plt.yticks([])

  plt.imshow(img, cmap=plt.cm.binary)

  predicted_label = np.argmax(predictions_array)
  if predicted_label == true_label:
    color = 'blue'
  else:
    color = 'red'

  plt.xlabel("{} {:2.0f}% ({})".format(class_names[predicted_label],
    100*np.max(predictions_array),
    class_names[true_label]), color=color)

def plot_value_array(i, predictions_array, true_label):
  true_label = true_label[i]
  plt.grid(False)
  plt.xticks(range(10))
  plt.yticks([])
  thisplot = plt.bar(range(10), predictions_array, color="#777777")
  plt.ylim([0, 1])
  predicted_label = np.argmax(predictions_array)

  thisplot[predicted_label].set_color('red')
  thisplot[true_label].set_color('green')

コード出典: https://www.tensorflow.org/tutorials/keras/classification

実行結果

The predictions are being made
[1.3008227e-07 9.4930819e-10 2.0181861e-09 5.4944155e-10 3.8257373e-11
1.3896286e-04 1.4776078e-08 3.1724274e-03 9.4210514e-11 9.9668854e-01]
The test labels are
9

コードの解説

  • モデルの学習が完了したら、次はその性能を検証する段階に入ります。
  • 検証は、学習済みモデルを使って実際に画像の予測を行うことで実現できます。
  • モデルの出力層には、線形出力であるlogits(ロジット)とSoftmaxレイヤーが接続されています。
  • Softmaxレイヤーは、logitsを確率値へ変換する役割を担います。
  • これにより、モデルが出した予測結果を人間が直感的に解釈しやすくなります。
  • また、「plot_value_array」メソッドを定義することで、実際のラベル値と予測値を視覚的に比較・表示できます。
  1. TensorFlowとPythonでFashion MNISTの予測結果を検証する方法を徹底解説

    TensorFlowとはTensorFlowは、Googleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせて使用することで、機械学習アルゴリズムやディープラーニングアプリケーションの実装が可能になります。研究用途から本番環境まで幅広く活用されています。Windows環境にTensorFlowをインストールするには、以下のコマンドを実行します。pip install tensorflowFashion MNISTデータセットについて「Fashion MNIST」データセットには、さまざまな種類の衣類の画像が含まれています。10の異なるカテゴリに

  2. TensorFlowとPythonでFashion MNISTデータを前処理する方法

    TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションの実装など、幅広い用途に活用できます。研究開発から本番環境まで、多くの場面で採用されている実績あるフレームワークです。Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。pip install tensorflowテンソル(Tensor)はTensorFlowで使用される基本的なデータ構造であり、フロー図におけるエッジ(辺)をつなぐ役割を果たします。このフロー図は「デー