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

正規化後のTensorFlowモデルをトレーニング・構築するには?compileとfitの使い方を解説

あわび(アワビ)データセットに対してモデルをトレーニング・構築するには、「compile」メソッドと「fit」メソッドを使用します。それぞれモデルのコンパイルと学習を担当しており、「fit」メソッドではパラメータとしてエポック数も指定できます。

使用するデータセットについて

本記事では、あわびの各種測定値を含む「abaloneデータセット」を使用します。アワビは巻き貝の一種であり、このデータセットの目的は、その他の測定値から年齢を予測することです。

コードの実行にはGoogle Colaboratory(Google Colab)を使用しています。Google Colabはブラウザ上でPythonコードを実行できる環境で、事前設定が一切不要なうえ、GPU(グラフィックス処理ユニット)にも無料でアクセスできます。ColaboratoryはJupyter Notebookをベースに構築されています。

モデルのコンパイルとトレーニングのコード

print("The model is being compiled")
norm_abalone_model.compile(loss = tf.losses.MeanSquaredError(),optimizer = tf.optimizers.Adam())
print("The model is being fit to the data")
norm_abalone_model.fit(abalone_features, abalone_labels, epochs=8)

コード出典:https://www.tensorflow.org/tutorials/load_data/csv

実行結果

The model is being compiled
The model is being fit to the data
Epoch 1/8
104/104 [==============================] - 0s 989us/step - loss: 98.3651
Epoch 2/8
104/104 [==============================] - 0s 945us/step - loss: 65.4568
Epoch 3/8
104/104 [==============================] - 0s 922us/step - loss: 21.7297
Epoch 4/8
104/104 [==============================] - 0s 912us/step - loss: 6.3429
Epoch 5/8
104/104 [==============================] - 0s 988us/step - loss: 5.0949
Epoch 6/8
104/104 [==============================] - 0s 958us/step - loss: 4.9868
Epoch 7/8
104/104 [==============================] - 0s 1ms/step - loss: 4.8982
Epoch 8/8
104/104 [==============================] - 0s 1ms/step - loss: 4.7936
<tensorflow.python.keras.callbacks.History at 0x7fda8213c898>

コードの解説

  • 正規化レイヤーの構築が完了したら、そのモデルをトレーニングデータで学習させます。
  • 「compile」メソッドでは損失関数に平均二乗誤差(MeanSquaredError)、オプティマイザーにAdamを指定しています。
  • トレーニングの際は、「Model.fit」メソッドを使って特徴量(features)とラベル(labels)をモデルに渡します。ここではエポック数として8を指定し、8回繰り返し学習を行っています。

実行結果を見ると、エポックが進むごとにloss(損失)の値が98.3651から4.7936へと大幅に減少しており、モデルがデータに適切に適合していることが確認できます。

  1. TensorFlowと事前学習済みモデルを使ってPythonでデータを可視化する方法

    TensorFlowと事前学習済みモデルを組み合わせることで、matplotlibライブラリを使用してデータを簡単に可視化できます。グラフの描画には「plot」メソッドを使い、学習の進捗や精度の推移をコンソール上で確認できます。関連記事: TensorFlowとは何か?KerasがTensorFlowと連携してニューラルネットワークを構築する仕組み転移学習(Transfer Learning)の基本少なくとも1つの畳み込み層(Convolutional Layer)を含むニューラルネットワークは、畳み込みニューラルネットワーク(CNN)と呼ばれ、学習モデルの構築に広く活用されています。本記事で

  2. TensorFlowとPythonを使ってモデルをトレーニングする方法

    TensorFlowでは、fitメソッドを使ってモデルをトレーニングできます。このメソッドには、エポック数(データセット全体を何回繰り返して学習させるかを示す数値)とトレーニング用データを指定します。実行環境について本記事のコードはGoogle Colaboratory(Google Colab)で実行しています。Google Colabはブラウザ上でPythonコードを実行できるサービスで、面倒な環境構築が不要なうえ、GPU(グラフィックス処理ユニット)を無料で利用できるのが大きな特徴です。ColaboratoryはJupyter Notebookをベースに構築されています。モデルのトレーニ