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

Tensorflowを使用して、Pythonを使用してトレーニング結果を視覚化するにはどうすればよいですか?


トレーニング結果は、「matplotlib」ライブラリを使用してPythonを使用したTensorflowで視覚化できます。 「plot」メソッドは、コンソールにデータをプロットするために使用されます。

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

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

少なくとも1つの層を含むニューラルネットワークは、畳み込み層と呼ばれます。畳み込みニューラルネットワークを使用して、学習モデルを構築できます。

画像分類子はkeras.Sequentialモデルを使用して作成され、データはpreprocessing.image_dataset_from_directoryを使用して読み込まれます。データはディスクから効率的にロードされます。過剰適合が特定され、それを軽減するための手法が適用されます。これらの手法には、データ拡張とドロップアウトが含まれます。 3700本の花の画像があります。このデータセットには5つのサブディレクトリが含まれており、クラスごとに1つのサブディレクトリがあります。それらは、デイジー、タンポポ、バラ、ヒマワリ、チューリップです。

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

print("Calculating the accuracy")
acc = history.history['accuracy']
val_acc = history.history['val_accuracy']
print("Calculating the loss")
loss = history.history['loss']
val_loss = history.history['val_loss']

epochs_range = range(epochs)
print("The results are being visualized")
plt.figure(figsize=(8, 8))
plt.subplot(1, 2, 1)
plt.plot(epochs_range, acc, label='Training Accuracy')
plt.plot(epochs_range, val_acc, label='Validation Accuracy')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(1, 2, 2)

plt.plot(epochs_range, loss, label='Training Loss')
plt.plot(epochs_range, val_loss, label='Validation Loss')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.show()

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

出力

Calculating the accuracy
Calculating the loss
The results are being visualized

Tensorflowを使用して、Pythonを使用してトレーニング結果を視覚化するにはどうすればよいですか?

説明

  • 上記のプロットは、トレーニングの精度と検証の精度が同期していないことを示しています。

  • モデルは、検証データセットで約60%の精度しか達成していません。

  • これは過剰適合として知られています。

  • トレーニングの精度は時間の経過とともに直線的に向上しましたが、検証の精度はトレーニングプロセスで約60%で停滞しています。

  • トレーニング例の数が少ない場合、モデルはトレーニング例のノイズや不要な詳細から学習します。

  • これは、新しい例でのモデルのパフォーマンスに悪影響を及ぼします。

  • 過剰適合のため、モデルは新しいデータセットでうまく一般化できなくなります。

  • 過剰適合を回避する方法はたくさんあります。過剰適合を克服するためにデータ拡張を使用します。


  1. TensorFlowを使用してPythonでFashionMNISTデータを前処理するにはどうすればよいですか?

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

  2. Tensorflowを使用してPythonを使用して2つの行列を乗算するにはどうすればよいですか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 これは、NumPyと多次元配列を使用しているためです。これらの多次元配列は「テンソル」とも呼ばれます。フレームワークは、ディープニューラルネットワークの操作をサポートします。これは非常にスケーラブルであり、多くの一般的なデータセットが付属しています。 GPU計算を使用し、リソ