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

TensorFlowとPythonでFashion MNISTデータセットのモデルを構築する方法


TensorFlowはGoogleが提供する機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムの実装や深層学習アプリケーションの開発など、幅広い用途に活用できます。研究用途から本番環境まで、多くの場面で採用されている信頼性の高いフレームワークです。

TensorFlowのインストール

Windows環境では、以下のコマンドで「tensorflow」パッケージをインストールできます。

pip install tensorflow

テンソルとは

テンソル(Tensor)はTensorFlowで使われる基本的なデータ構造です。フロー図におけるエッジ(辺)を接続する役割を担い、このフロー図は「データフローグラフ」と呼ばれます。テンソルは、多次元配列またはリストそのものだと考えると理解しやすいでしょう。

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

「Fashion MNIST」データセットには、さまざまな種類の衣類の画像が収録されています。10の異なるカテゴリに属する7万枚以上のグレースケール画像で構成されており、画像サイズは28×28ピクセルの低解像度です。本記事のコードはGoogle Colaboratory上で実行します。

Google Colab(Colaboratory)を利用すると、ブラウザ上でPythonコードを実行でき、事前の環境構築は一切不要です。さらにGPU(グラフィックス処理装置)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されたサービスです。

モデル構築のコード例

以下は、PythonでFashion MNISTデータセット向けのモデルを構築するコードスニペットです。

コード例

model = tf.keras.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dense(10)
])
print("Sequential model is being built")
model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy'])
print("Sequential model is being compiled")

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

出力結果

Sequential model is being built
Sequential model is being compiled

コードの解説

  • まず、モデルを構成する各層(レイヤー)を定義します。
  • 層はニューラルネットワークの基本ブロックであり、入力データから特徴表現を抽出する役割を果たします。
  • 複数のシンプルな層を組み合わせてネットワーク全体を構築します。
  • 一部の層にはパラメータが含まれており、訓練フェーズで最適な値へ自動的に調整されます。
  • 最初の「Flatten」層は、2次元の画像データを1次元配列へ変換します。
  • この層には学習すべきパラメータは存在しません。
  • 画素値がフラット化された後、2つの「Dense」(全結合)層が追加されます。1つ目のDense層は128個のニューロンを持ち、最後の層は長さ10のロジット(logits)配列を出力します。
  • 各ニューロン(ノード)にはスコアが格納され、その画像がどのクラスに属するかを判定する材料となります。
  • 最後に、損失関数や最適化手法を指定してモデルをコンパイルすれば、学習の準備は完了です。
  1. TensorFlowとFashion MNISTデータセットを使って、学習済みモデルでPythonによる画像予測を行う方法

    TensorFlowはGoogleが提供している機械学習フレームワークです。オープンソースとして公開されており、Pythonと組み合わせてアルゴリズムやディープラーニングアプリケーションなどを実装できます。研究用途から本番環境まで幅広く利用されており、複雑な数値計算を高速に処理するための最適化技術を備えています。これは内部でNumPyと多次元配列を使用しているためです。この多次元配列は「テンソル(tensors)」とも呼ばれます。また、TensorFlowは深層ニューラルネットワークの構築もサポートしています。Windows環境では、以下のコマンドで「tensorflow」パッケージをインスト

  2. TensorFlowとPythonでFashion MNISTの予測結果を検証する方法を徹底解説

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