企業が人工知能 (AI)、機械学習 (ML)、ディープラーニング (DL) の利用を増やすにつれて、機械学習開発をどのように拡張し、産業化するかという重要な疑問が生じます。これらの議論は、多くの場合、機械学習モデル自体に焦点を当てていますが、モデルは完全なソリューションの一部にすぎません。本番環境での導入と拡張を実現するには、モデル開発プロセスに、開発前と開発後の主要なアクティビティと公開可能なプロセスを説明する繰り返し可能なプロセスも含める必要があります。 この記事では、Kubermatic Kubernetes プラットフォームを使用して、画像認識予測用のディープラーニング モデルをデプロイ、スケーリング、管理する方法を説明します。
Kubermatic Kubernetes プラットフォームは、柔軟性と自動化、機械学習/ディープラーニング ワークフローとの統合、完全なクラスター ライフサイクル管理を提供する、本番環境レベルのオープン ソース Kubernetes クラスター管理ツールです。 始めるこの例では、画像認識用のディープラーニング モデルをデプロイします。これは、10 のカテゴリに属する 60,000 枚の 32x32 カラー画像を含む CIFAR-10 データセットを使用し、高速コンピューティングに Apache MXNet の Gluon と NVIDIA GPU を使用します。 CIFAR-10 データセットで事前トレーニング済みのモデルを使用する場合は、入門ガイドを参照してください。 トレーニング セットのサンプルを使用して、モデルを 200 回トレーニングします。トレーニング エラーがゆっくりと減少し続ける限り、モデルは過剰適合されません。次の図はトレーニング プロセスを示しています。 トレーニング後、モデル トレーニングから取得したパラメーターは、後で読み込むことができるように保存する必要があります。
モデルのトレーニングが完了したら、それを Flask サーバーでラップできます。次のプログラムは、リクエスト内のパラメータとして画像を受け取り、モデルの予測結果をレスポンスで返す方法を示しています。
コンテナ化モデルモデルを Kubernetes にデプロイする前に、Docker をインストールし、モデルを含むイメージを作成する必要があります。 Docker をダウンロード、インストールして起動します。
コードと依存関係を管理するフォルダーを作成します。
コードの実行に必要なすべての依存関係を管理するには、 requirements.txt ファイルを作成します。
Dockerfile を作成すると、Docker はこのファイルに基づいてイメージを作成します。
この Dockerfile は 3 つの主要な部分に分けられます。まず、Docker は Python のベースイメージをダウンロードします。次に、Docker は Python のパッケージ管理ツール pip を使用して、requirements.txt に記録されているパッケージをインストールします。最後に、Docker は python app.py を実行してスクリプトを実行します。 Docker コンテナをビルドします。
このコマンドは、kubermatic-dl イメージを使用して、現在の作業ディレクトリにコード用のコンテナーを作成します。 使用
このコマンドは、コンテナがホスト上で適切に実行できるかどうかを確認します。 使用
ローカル コンテナの実行ステータスを表示するコマンド: コンテナの実行ステータスを表示する モデルをDocker Hubにアップロードするモデルを Kubernetes にデプロイする前に、まずイメージを一般公開する必要があります。モデルを Docker Hub にアップロードすることで公開できます。 (Docker Hub アカウントをお持ちでない場合は、まずアカウントを作成する必要があります) ターミナルで Docker Hub アカウントにログインします。
イメージにタグを付けると、Docker Hub にアップロードされた後にモデルにバージョン情報が含まれるようになります。
画像にタグを付ける 使用
イメージの ID を確認するコマンド。 モデルをKubernetesクラスターにデプロイするまず、Kubermatic Kubernetes プラットフォームでプロジェクトを作成し、クイック スタート ガイドに従って Kubernetes クラスターを作成します。 Kubernetes クラスターを作成する クラスターにアクセスするための kubeconfig をダウンロードし、ダウンロード ディレクトリに配置します。環境がそれを見つけられるように、適切な環境変数を設定することを忘れないでください。 Kubernetes クラスターの例 kubectl コマンドを使用して、クラスター情報を確認します。たとえば、クラスター内で kube-system が正常に起動されているかどうかを確認する必要がある場合は、kubectl cluster-info コマンドを使用できます。 クラスターでコンテナを実行するには、デプロイメント構成ファイル (deployment.yaml) を作成し、apply コマンドを実行してクラスターに適用する必要があります。
デプロイメントをパブリック インターネットに公開するには、コンテナーに対して外部からアクセス可能な IP アドレスを作成できるサービスが必要です。
もうすぐ完了です。まずはデプロイしたサービスのステータスを確認し、IP 経由で画像認識 API をリクエストします。
最後に、外部 IP に基づいて次の 2 つの画像を使用して画像認識サービスをテストします。
要約するこのチュートリアルでは、ディープラーニング モデルを作成し、Flask を使用して REST API として提供します。アプリケーションを Docker コンテナに配置する方法、このイメージを Docker Hub にアップロードする方法、Kubernetes を使用してサービスをデプロイする方法について説明します。いくつかの簡単なコマンドを実行するだけで、Kubermatic Kubernetes プラットフォームを使用してアプリケーションをデプロイし、他のユーザーがサービスを利用できるようにすることができます。 |
<<: PyTorch のデータセット Torchvision と Torchtext
>>: 二度とアルゴリズムの罠に陥らないでください!背後にいる人物を見つけ出す
植物保護ドローンは、現在の農業分野において間違いなく新たな人気機器です。高効率、利便性、精度、環境保...
この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...
1. 研究の動機マスクモデリング (MIM、MAE) は、非常に効果的な自己教師ありトレーニング方法...
/* 世界を変えるために生きるここでは、あらゆる作品が市場に参入するための種となる可能性があります...
ここ数年、AIチップの新興企業が雨後の筍のように出現した。現在、初期の参加者グループは、優れたチップ...
長い間、「チューリングテスト」は、コンピュータが「知性」を持っているかどうかを判断するための中心的な...
カリフォルニア大学サンディエゴ校で開発・実装されている AI 主導のテクノロジーとイノベーションの多...
機械学習技術は企業の電気システムの作業と保守において重要な役割を果たしており、人々は機械学習を採用す...
他のインターネットの概念と同様に、AI は人気が出ると数え切れないほどの支持者を獲得しました。彼らは...
[[441194]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...