ホームページ >バックエンド開発 >Python チュートリアル >TensorFlow Serving を使用して Python でモデルをデプロイするにはどうすればよいですか?

TensorFlow Serving を使用して Python でモデルをデプロイするにはどうすればよいですか?

王林
王林転載
2023-09-07 23:09:02829ブラウズ

如何使用TensorFlow Serving在Python中部署模型?

機械学習モデルのデプロイは、人工知能アプリケーションを機能させるために重要であり、本番環境でモデルを効果的に提供するために、TensorFlow Serving は信頼性の高いソリューションを提供します。モデルがトレーニングされ、デプロイの準備ができたら、リアルタイムのリクエストを処理するためにモデルを効率的に提供することが重要です。 TensorFlow Serving は、機械学習モデルを実稼働環境にスムーズにデプロイするのに役立つ強力なツールです。

この記事では、TensorFlow Serving を使用して Python でモデルをデプロイする手順を詳しく説明します。

モデルのデプロイメントとは何ですか?

モデルのデプロイメントには、トレーニングされた機械学習モデルをリアルタイム予測に使用できるようにすることが含まれます。これは、モデルを開発環境から、受信リクエストを効率的に処理できる運用システムに移行することを意味します。 TensorFlow Serving は、機械学習モデルをデプロイするために特別に設計された、専用の高性能システムです。

TensorFlow サービスをセットアップする

まず、システムに TensorFlow Serving をインストールする必要があります。 TensorFlow Serving -

をセットアップするには、以下の手順に従ってください。

ステップ 1: TensorFlow Serving をインストールする

まず、パッケージ マネージャー pip を使用して TensorFlow Serving をインストールします。コマンド プロンプトまたはターミナルを開き、次のコマンドを入力します -

リーリー

ステップ 2: TensorFlow サービス サーバーを開始する

インストール後、次のコマンドを実行して TensorFlow Serving サーバーを起動します -

リーリー

`/path/to/model/directory` を、トレーニングされたモデルが保存されているパスに置き換えます。

モデルのデプロイの準備

モデルをデプロイする前に、TensorFlow Serving が理解できる形式でモデルを保存する必要があります。次の手順に従って、モデルのデプロイメントを準備します -

SavedModel 形式でモデルを保存します

Python スクリプトで、次のコードを使用して、トレーニングされたモデルを SavedModel 形式で保存します -

リーリー

モデル署名の定義

モデル シグネチャは、モデルの入力テンソルと出力テンソルに関する情報を提供します。 `tf.saved_model.signature_def_utils.build_signature_def` 関数を使用して、モデル署名を定義します。以下に例を示します -

リーリー

署名を使用してモデルを保存する

モデルを署名とともに保存するには、次のコードを使用します -

リーリー

TensorFlow Serving を使用してモデルを提供する

モデルの準備ができたので、TensorFlow Serving を使用してモデルを提供します。以下の手順に従ってください -

TensorFlow Serving との接続を確立する

Python スクリプトでは、gRPC プロトコルを使用して TensorFlow Serving との接続を確立します。以下に例を示します -

リーリー

リクエストの作成

予測を行うには、リクエスト protobuf メッセージを作成し、モデル名とシグネチャ名を指定します。以下に例を示します -

リーリー

`data` を、予測する入力データに置き換えます。

リクエストを送信して応答を取得する

リクエストを TensorFlow Serving に送信し、レスポンスを取得します。以下に例を示します -

リーリー

`timeout_seconds`このパラメーターは、応答を待つ最大時間を指定します。

デプロイされたモデルをテストする

デプロイされたモデルが適切に機能することを確認するには、サンプル入力を使用してテストする必要があります。デプロイされたモデルをテストする方法は次のとおりです -

サンプルデータの準備

モデルの予期される入力形式と一致するサンプル入力データのセットを作成します。

デプロイされたモデルにリクエストを送信する

リクエストを作成し、デプロイされたモデルに送信します。

リーリー

出力の評価

デプロイされたモデルから受け取った出力と予想される出力を比較します。このステップにより、モデルが正確な予測を行うことが保証されます。

展開のスケーリングとモニタリング

需要が増加すると予測されるため、大量の受信リクエストを処理できるようにデプロイメントを拡張することが重要です。さらに、展開を監視すると、展開されたモデルのパフォーマンスと健全性を追跡するのに役立ちます。次のスケーリングおよび監視戦略の実装を検討してください -

###ズーム###

    負荷分散には TensorFlow Serving の複数のインスタンスを使用します。
  • Docker や Kubernetes などのプラットフォームを使用したコンテナ化。
  • ###モニター###

リクエストのレイテンシ、エラー率、スループットなどのメトリクスを収集します。

  • 重要なイベントのアラートと通知を設定します。

  • ###例###

    次のプログラム例は、TensorFlow サービスを使用してモデルをデプロイする方法を示しています -

    リーリー
  • 上記の例では、「/path/to/your/trained/model」をトレーニング済みモデルへの実際のパスに置き換える必要があります。モデルは Keras の
load_model()

関数を使用してロードされます。

次に、モデルは TensorFlow SavedModel 形式に変換され、指定されたエクスポート パスに保存されます。

次に、os.system() 関数を使用して TensorFlow Serving サーバーを起動し、tensorflow_model_server コマンドを実行します。このコマンドは、サーバー ポート、モデル名 (your_model)、およびエクスポートされたモデルが配置されているベース パスを指定します。

TensorFlow Serving がインストールされていることを確認し、ファイル パスをシステムに適切な値に置き換えてください。

期待される出力

サーバーが正常に起動すると、予測サービスを提供できるようになります。他のプログラムまたは API を使用して予測リクエストをサーバーに送信すると、サーバーはロードされたモデルに基づいて予測出力で応答します。

###結論は###

結論として、機械学習モデルを運用環境にデプロイして、その予測機能を活用することが重要です。この記事では、TensorFlow Serving を使用して Python でモデルをデプロイするプロセスについて説明します。 TensorFlow Serving のインストール、モデルのデプロイの準備、モデルの提供、およびそのパフォーマンスのテストについて説明しました。次の手順により、TensorFlow モデルを正常にデプロイし、正確なリアルタイム予測を行うことができます。

以上がTensorFlow Serving を使用して Python でモデルをデプロイするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。