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

Tensorflowを使用してCNNモデルをトレーニングおよびコンパイルするにはどうすればよいですか?


畳み込みニューラルネットワークは、それぞれ「train」メソッドと「fit」メソッドを使用してトレーニングおよびコンパイルできます。 「エポック」値は「フィット」メソッドで提供されます。

続きを読む: TensorFlowとは何ですか?KerasはTensorFlowとどのように連携してニューラルネットワークを作成しますか?

Keras Sequential APIを使用します。これは、すべてのレイヤーに1つの入力テンソルと1つの出力テンソルがあるプレーンスタックのレイヤーを操作するために使用されるシーケンシャルモデルの構築に役立ちます。

少なくとも1つの層を含むニューラルネットワークは、畳み込み層と呼ばれます。畳み込みニューラルネットワークは、画像認識などの特定の種類の問題に対して優れた結果を生み出すために使用されてきました。

Google Colaboratoryを使用して、以下のコードを実行しています。 Google ColabまたはColaboratoryは、ブラウザー上でPythonコードを実行するのに役立ち、構成が不要で、GPU(グラフィックプロセッシングユニット)に無料でアクセスできます。 ColaboratoryはJupyterNotebookの上に構築されています。

print("Compiling the model")
model.compile(optimizer='adam',loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
   metrics=['accuracy'])
print("Training the model to fit the data")
history = model.fit(train_images, train_labels, epochs=10,validation_data=(test_images, test_labels))

コードクレジット:https://www.tensorflow.org/tutorials/images/cnn

出力

Compiling the model
Training the model to fit the data
Epoch 1/10
1563/1563 [==============================] - 70s 44ms/step - loss: 1.7408 - accuracy: 0.3557 - val_loss: 1.2260 - val_accuracy: 0.5509
Epoch 2/10
1563/1563 [==============================] - 67s 43ms/step - loss: 1.1928 - accuracy: 0.5751 - val_loss: 1.0800 - val_accuracy: 0.6159
Epoch 3/10
1563/1563 [==============================] - 68s 43ms/step - loss: 1.0330 - accuracy: 0.6396 - val_loss: 0.9791 - val_accuracy: 0.6562
Epoch 4/10
1563/1563 [==============================] - 66s 43ms/step - loss: 0.9197 - accuracy: 0.6782 - val_loss: 0.9488 - val_accuracy: 0.6677
Epoch 5/10
1563/1563 [==============================] - 65s 42ms/step - loss: 0.8388 - accuracy: 0.7043 - val_loss: 0.9090 - val_accuracy: 0.6851
Epoch 6/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.7755 - accuracy: 0.7279 - val_loss: 0.8694 - val_accuracy: 0.6944
Epoch 7/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.7107 - accuracy: 0.7494 - val_loss: 0.9152 - val_accuracy: 0.6929
Epoch 8/10
1563/1563 [==============================] - 65s 42ms/step - loss: 0.6674 - accuracy: 0.7649 - val_loss: 0.8613 - val_accuracy: 0.7045
Epoch 9/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.6288 - accuracy: 0.7771 - val_loss: 0.8788 - val_accuracy: 0.7026
Epoch 10/10
1563/1563 [==============================] - 66s 42ms/step - loss: 0.5913 - accuracy: 0.7953 - val_loss: 0.8884 - val_accuracy: 0.7053

説明

  • モデルがコンパイルされます。
  • 次のステップは、トレーニングデータに合うようにモデルをトレーニングすることです。
  • データをトレーニングするためのステップ数は10です。

  1. Tensorflowを使用してMNISTデータセットのモデルを定義するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。 「tensorflow」パッケージは、以下のコード行を使用してWindowsにインストールできます- pip install tensorfl

  2. TensorFlowを使用してPythonを使用して線形モデルをトレーニングするにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。研究や生産目的で使用されます。 「tensorflow」パッケージは、以下のコード行を使用してWindowsにインストールできます- pip install tensorflow Tensorは、TensorFlowで使用されるデータ構造です。フロー図のエッジを接続するのに役立ちます。このフロー図は「データフローグラフ」と呼ばれます。テンソルは、多次元配列またはリストに他なりま