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

Tensorflowを使用してバッチディメンションを追加し、Pythonを使用して画像をモデルに渡すにはどうすればよいですか?


Tensorflowを使用して、バッチディメンションを追加し、画像をNumpy配列に変換することで、画像をモデルに渡すことができます。

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

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

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

画像分類の転移学習の背後にある直感は、モデルが大規模で一般的なデータセットでトレーニングされている場合、このモデルを使用して視覚世界の一般的なモデルとして効果的に機能できることです。機能マップを学習したはずです。つまり、ユーザーは大規模なデータセットで大規模なモデルをトレーニングすることで、最初から始める必要がありません。

TensorFlow Hubは、事前にトレーニングされたTensorFlowモデルを含むリポジトリです。 TensorFlowを使用して、学習モデルを微調整できます。

TensorFlow Hubのモデルをtf.kerasで使用する方法を理解し、TensorFlowHubの画像分類モデルを使用します。これが完了すると、転送学習を実行して、カスタマイズされた画像クラスのモデルを微調整できます。これは、事前にトレーニングされた分類モデルを使用して画像を取得し、それが何であるかを予測することによって行われます。これは、トレーニングを必要とせずに実行できます。

grace_hopper = np.array(grace_hopper)/255.0
print("The dimensions of the image are")
print(grace_hopper.shape)
result = classifier.predict(grace_hopper[np.newaxis, ...])
print("The dimensions of the resultant image are")
print(result.shape)
predicted_class = np.argmax(result[0], axis=-1)
print("The predicted class is")
print(predicted_class)
です。

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

出力

The dimensions of the image are
(224, 224, 3)
The dimensions of the resultant image are
(1, 1001)
The predicted class is
819

説明

  • バッチディメンションが追加されます。
  • 画像がモデルに渡されます。
  • 結果はロジットの1001要素ベクトルです。
  • これにより、画像のすべてのクラスの確率が評価されます。

  1. Pythonを使用してモデル全体を保存するためにKerasをどのように使用できますか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。研究や生産目的で使用されます。 Kerasは、Pythonで記述されたディープラーニングAPIです。これは、機械学習の問題を解決するのに役立つ生産的なインターフェースを備えた高レベルのAPIです。 Tensorflowフレームワーク上で実行されます。迅速な実験を支援するために構築されました。非常にスケーラブルで、クロスプラットフォーム機能が付属しています。これは、KerasをTP

  2. Pythonを使用してモデルをプロットするためにKerasをどのように使用できますか?

    Tensorflowは、Googleが提供する機械学習フレームワークです。これは、Pythonと組み合わせて使用​​されるオープンソースのフレームワークであり、アルゴリズム、深層学習アプリケーションなどを実装します。それは研究および生産目的で使用されます。複雑な数学演算をすばやく実行するのに役立つ最適化手法があります。 Tensorは、TensorFlowで使用されるデータ構造です。フロー図のエッジを接続するのに役立ちます。このフロー図は「データフローグラフ」と呼ばれます。テンソルは多次元配列またはリストに他なりません。 Kerasは、プロジェクトONEIROS(オープンエンドの神経電子イン