検索
ホームページテクノロジー周辺機器AI機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

冒頭の章

数日前、私は 3 年間開発に携わってきた友人の Xiao Li と話をし、彼の会社が機械学習に関連する研究を行うプロジェクト。最近、彼はトレーニングされた機械学習モデルをデプロイするタスクを受け取りました。 Xiao Li 氏はこれを心配しています。彼は機械学習の開発に半年近く携わっています。主にデータ収集、データクリーニング、環境構築、モデルトレーニング、モデル評価に従事しています。しかし、モデルのデプロイメントを行うのはこれが初めてです。 。

そこで、私は自分の経験に基づいて、機械学習モデルの導入に関するポピュラーサイエンスを実施しました。図 1 に示すように、従来のプログラミングでは、ルールとデータをプログラムに渡して、必要な答えを取得します。機械学習では、答えとデータを通じてルールをトレーニングします。このルールが機械学習のモデルです。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

#図 1 従来のプログラミングと機械学習の違い

そして機械学習のモデル展開このルール (モデル) を、機械学習を適用する必要があるエンドポイントにデプロイすることです。図2に示すように、機械学習によって学習されたモデルは、関数、API、またはSDKとして理解でき、対応する端末にデプロイされます(図の灰色の部分)。導入後の端末はモデルで与えられた機能を持つことになりますが、このとき新たなデータを入力することでルール(モデル)に従って予測結果が得られます。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

#図 2 機械学習モデルのデプロイメントの原則

#TensorFlow 機械学習デプロイメント フレームワーク

Xiao Li は、私の紹介を聞いて理解したと言い、彼らのプロジェクトの展開について非常に興味深く話し、私の意見を求めたいと言いました。図 3 に示すように、画像認識モデルを IOS、Android、Raspberry Pi、Web ブラウザー、およびサーバー側に展開したいと考えています。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。#図 3 モデル展開シナリオ

展開アプリケーション シナリオから見ると、軽量でクロスクロスです。プラットフォームの機能。同じ機械学習モデルを複数の異なるプラットフォームにデプロイする必要があり、各プラットフォームには異なるストレージとコンピューティング機能があります。同時に、モデル操作の可用性、パフォーマンス、セキュリティ、拡張性を考慮する必要があり、比較的安定した大規模なプラットフォームを使用する必要があります。そこで、私は TensorFlow の機械学習導入フレームワークを彼に勧めました。図 4 に示すように、TensorFlow のデプロイメント フレームワークは、さまざまなプラットフォームのコンポーネント サポートを提供します。このうち、Android、IOS、Raspberry Piは、モバイル端末に特化したモデル展開フレームワークであるTensorFlow Liteに対応しています。ブラウザ側では TensorFlow.js を使用でき、サーバー側では TensorFlow Serving を使用できます。

#図 4 TensorFlow 機械学習モデルの導入フレームワーク機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

TensorFlow Lite の実際の動作

小李 さんは、より具体的なデプロイメント プロセスを知りたがっていました。私はたまたま TensorFlow のデプロイメント フレームワークを使用するプロジェクトを持っていたので、彼にプロセスをデモンストレーションしました。このプロジェクトは、「犬猫認識」モデルを Android スマートフォンに導入するもので、IOS、Android、Raspberry Pi、ブラウザはすべてクライアントであるため、それらのコンピューティング リソースをサーバーのコンピューティング リソースと比較することはできません。特にモバイル アプリケーションは軽量、低遅延、高効率、プライバシー保護、省電力などの特徴があるため、TensorFlow はそのデプロイを特別に設計し、TensorFlow Lite を使用してデプロイします。

TensorFlow Lite を使用してモデルをデプロイするには、次の 3 つの手順が必要です:

  1. TensorFlow を使用してモデルをトレーニングします。
  2. TensorFlow Lite 形式に変換します。
  3. TensorFlow Lite インタープリタを使用してロードして実行します。

最初のステップでモデルのトレーニングが完了しました。2 番目のステップでは、生成されたモデルを TensorFlow Lite が認識して使用できるパターン形式に変換します。前述したように、モデルをモバイル端末で使用する場合には、さまざまな問題を考慮する必要があるため、モバイル端末用に特別なファイル形式を生成する必要があります。 3 番目のステップは、変換された TensorFlow Lite ファイルをモバイル インタプリタにロードして実行することです。

ここではモデルのデプロイメントに焦点を当てているため、モデルのトレーニングの最初のステップは一時的にスキップされます。これは、モデルがすでにトレーニングされていることを意味します。モデル変換の 2 番目のステップについては、図 5 を参照してください。TensorFlow モデルは、Converter を通じてサフィックス「.tflite」が付いたモデル ファイルに変換され、その後、さまざまなプラットフォームに公開され、各プラットフォームのインタープリターを通じて処理されます。説明してロードします。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

#図 5 TensorFlow Lite モデル変換アーキテクチャ

モデルの保存と変換

TensorFlow Lite のアーキテクチャは上で紹介しましたが、ここではモデルを TensorFlow モデルとして保存し、変換する必要があります。図 6 に示すように、TensorFlow の Saved_model.save メソッドを呼び出して、モデル (トレーニング済みモデル) を指定されたディレクトリに保存します。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

#図 6 TensorFlow モデルの保存

モデルを保存したら、次は、図 7 に示すように、TensorFlow Lite の TFLiteConverter パッケージの from_saved_model メソッドを呼び出してコンバーター (モデル コンバーター) のインスタンスを生成し、コンバーターの Convert メソッドを呼び出してモデルを変換し、変換されたモデルを保存します。ファイルを指定したディレクトリにコピーします。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

図 7 tflite モデル形式への変換

アプリケーション モデルの読み込み

理由この例は Android システム上でのモデルのデプロイメントを対象としているため、TensorFlow Lite の依存関係を Android に導入する必要があります。図 8 に示すように、TensorFlow Lite の依存関係を導入し、aaptOptions で noCompress を「tflite」に設定します。これは、「tflite」を持つファイルは圧縮されないことを意味します。圧縮が設定されている場合、Android システムは tflite ファイルを認識しない可能性があります。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。#図 8 プロジェクトの TensorFlow Lite に導入された依存関係

依存関係を設定した後、変換します。図 9 に示すように、適切な tflite ファイルをアセット ファイルに追加します。このファイルは、機械学習モデルを実行するために後でロードされます。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。図 9 tflite ファイルの追加

tflite ファイルを追加した後、Classifier 分類器を作成します、「猫と犬」の写真を分類するために使用されます。図 10 に示すように、インタプリタは Classifer の init で初期化され、loadModuleFlie メソッドが呼び出されて tflite ファイルがロードされ、分類ラベル (labelList) が指定されています (ここでのラベルは「cat Dog」です)。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。図 10 インタプリタの初期化

分類器を作成した後、猫と犬の分類モデルを使用して画像を識別します。つまり、Classifier クラスでは、図 10 に示すように、convertBitmapToByteBuffer メソッドの入力パラメーターはビットマップです。これは、入力した猫と犬の画像です。このメソッドで変換されます。赤色の部分に特に注意してください。 for ループ内で緑と青のチャンネルを変換し、変換結果を byteBuffer に入れて返します。 recoginzeImage メソッドは、convertBitmapToByteBuffer を呼び出し、インタプリタの run メソッドを使用して画像認識作業を実行します。つまり、機械学習モデルを使用して猫と犬の画像を識別します。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

図 11 画像の認識

上記のグラフィック変換プロセスは抽象的すぎるため、詳細を説明します。図 12 に示します。入力した画像は画像の左上隅にある 395*500 の画像で、imageView 内の画像をビットマップ形式に変換します。モデル入力には 224*224 形式が必要なため、変換が必要です。次に、ピクセルが 224*224 ByteBuffer 配列に入れられて保存され、最後に RGB (赤、緑、青) ピクセルがモデルの入力パラメーターとして正規化 (255 で除算) されます。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

#図 12 入力画像の変換プロセス

この時点で、機械学習モデルが完成 完成しました。もちろん、入力ファイルとレイアウトは必須です。図 13 に示すように、予測する必要がある画像 (猫と犬の画像) を描画可能フォルダーの下に保存します。次に、レイアウトの下に activity_image_classifier.xml ファイルを作成して、ImageView を構築して保存します。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

#図 13 入力画像ファイルとレイアウト ファイル

最後に、画像を表示して応答する ImageClassifierActivity を作成します。画像を識別するイベントに。図 14 に示すように、initViews メソッドで各画像の onclick イベントをバインドし、onclick メソッドで recoginzie Image メソッドを呼び出して画像を識別します。

機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。#図 14 onclick での画像認識の実行

効果を見てみましょう。図 15 に示すように、対応する画像をクリックすると、予測結果を示す「犬」のプロンプトが表示されます。

#図 15 デモ効果機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。

プロセス全体のレビューは複雑ではないので、モデルをデプロイします。 TensorFlow lite を使用する場合 次の手順に要約されます。

機械学習モデルを保存します。

  1. モデルを tflite 形式に変換します。
  2. モデルを tflite 形式で読み込みます。
  3. インタプリタを使用してモデルをロードします。
  4. 入力パラメータの予測結果。
  5. #TensorFlow モデルのデプロイメント スキルをさらに学習したい学生は、TensorFlow の公式コースを学習し、中文大学 MOOC にアカウントを登録して、無料で学習できます。

https://www.php.cn/link/1f5f6ad95cc908a20bb7e30ee28a5958 Google 開発者の専門家も対応しますデプロイメントに関するオンラインの説明と Q&A が非常に充実しているため、TensorFlow デプロイメント機能を予備的に理解したい学生は、

https: //www.php.cn/link /e046ede63264b10130007afca077877f

End

Xiao Li は、私の機械学習モデルのデプロイメントの説明を聞いて、TensorFlow デプロイメントのプロセスを理解した後、実際のデプロイメントを試してみたいとさらに意欲的になりました。 TensorFlow を使用したデプロイメントプロセスは論理的に明確で、方法はシンプルで実装が簡単で、3 ~ 5 年の経験を持つ開発者にとっては簡単に開始できると思います。さらに、TensorFlow は、機械学習の基礎がまったくない初心者に適した「TensorFlow 入門実践コース」を公式に提供しています: https://www.php.cn/link/bf2fe6582ed9ead9161a3d6f6b1d6858

著者紹介

Cui Hao は、51CTO コミュニティ編集者、シニア アーキテクトであり、20 年の建築経験があります。彼はかつて HP で技術専門家を務め、複数の機械学習プロジェクトに参加し、機械学習や NLP などに関する 20 以上の人気技術記事を執筆および翻訳してきました。 『分散アーキテクチャの原則と実践』の著者。

以上が機械学習モデルをデプロイする方法がわかりませんか? 15 枚の写真で、TensorFlow デプロイメント フレームワークを理解できます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は51CTO.COMで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Huggingface smollmであなたの個人的なAIアシスタントを構築する方法Huggingface smollmであなたの個人的なAIアシスタントを構築する方法Apr 18, 2025 am 11:52 AM

オンデバイスAIの力を活用:個人的なチャットボットCLIの構築 最近では、個人的なAIアシスタントの概念はサイエンスフィクションのように見えました。 ハイテク愛好家のアレックスを想像して、賢くて地元のAI仲間を夢見ています。

メンタルヘルスのためのAIは、スタンフォード大学でのエキサイティングな新しいイニシアチブによって注意深く分析されますメンタルヘルスのためのAIは、スタンフォード大学でのエキサイティングな新しいイニシアチブによって注意深く分析されますApr 18, 2025 am 11:49 AM

AI4MHの最初の発売は2025年4月15日に開催され、有名な精神科医および神経科学者であるLuminary Dr. Tom Insel博士がキックオフスピーカーを務めました。 Insel博士は、メンタルヘルス研究とテクノでの彼の傑出した仕事で有名です

2025年のWNBAドラフトクラスは、成長し、オンラインハラスメントの成長と戦いに参加します2025年のWNBAドラフトクラスは、成長し、オンラインハラスメントの成長と戦いに参加しますApr 18, 2025 am 11:44 AM

「私たちは、WNBAが、すべての人、プレイヤー、ファン、企業パートナーが安全であり、大切になり、力を与えられたスペースであることを保証したいと考えています」とエンゲルバートは述べ、女性のスポーツの最も有害な課題の1つになったものに取り組んでいます。 アノ

Pythonビルトインデータ構造の包括的なガイド-AnalyticsVidhyaPythonビルトインデータ構造の包括的なガイド-AnalyticsVidhyaApr 18, 2025 am 11:43 AM

導入 Pythonは、特にデータサイエンスと生成AIにおいて、プログラミング言語として優れています。 大規模なデータセットを処理する場合、効率的なデータ操作(ストレージ、管理、アクセス)が重要です。 以前に数字とstをカバーしてきました

Openaiの新しいモデルからの代替案からの第一印象Openaiの新しいモデルからの代替案からの第一印象Apr 18, 2025 am 11:41 AM

潜る前に、重要な注意事項:AIパフォーマンスは非決定論的であり、非常にユースケース固有です。簡単に言えば、走行距離は異なる場合があります。この(または他の)記事を最終的な単語として撮影しないでください。これらのモデルを独自のシナリオでテストしないでください

AIポートフォリオ| AIキャリアのためにポートフォリオを構築する方法は?AIポートフォリオ| AIキャリアのためにポートフォリオを構築する方法は?Apr 18, 2025 am 11:40 AM

傑出したAI/MLポートフォリオの構築:初心者と専門家向けガイド 説得力のあるポートフォリオを作成することは、人工知能(AI)と機械学習(ML)で役割を確保するために重要です。 このガイドは、ポートフォリオを構築するためのアドバイスを提供します

エージェントAIがセキュリティ運用にとって何を意味するのかエージェントAIがセキュリティ運用にとって何を意味するのかApr 18, 2025 am 11:36 AM

結果?燃え尽き症候群、非効率性、および検出とアクションの間の隙間が拡大します。これは、サイバーセキュリティで働く人にとってはショックとしてはありません。 しかし、エージェントAIの約束は潜在的なターニングポイントとして浮上しています。この新しいクラス

Google対Openai:学生のためのAIの戦いGoogle対Openai:学生のためのAIの戦いApr 18, 2025 am 11:31 AM

即時の影響と長期パートナーシップ? 2週間前、Openaiは強力な短期オファーで前進し、2025年5月末までに米国およびカナダの大学生にChatGpt Plusに無料でアクセスできます。このツールにはGPT ‑ 4o、Aが含まれます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境