機械学習モデルを .NET 環境にデプロイするにはどうすればよいでしょうか?

機械学習モデルを .NET 環境にデプロイするにはどうすればよいでしょうか?

データ中心のエンジニアにとって、Python と R はデータセンターで最も人気のあるプログラミング言語の 1 つです。ただし、アプリケーションの残りの部分が構築される言語が必ずしも同じであるとは限りません。そのため、Python や R で記述された機械学習モデルを .NET などの言語に基づく環境にデプロイする方法を見つける必要がある場合があります。

この記事では、Web API を使用して、機械学習モデルを .NET で記述されたアプリケーションに統合する方法を説明します。

入力: フラスコ

Flask は、機械学習の予測を共有およびホストする方法として使用できます。有名な Kaggle コンペティションの Titanic データセットを使用しましょう。まず、新しいファイルを作成し、titanic_app.py (または任意の名前) という名前を付けます。 Flask アプリケーションをインポートして初期化し、下部でサーバーを起動します。後でモデルやルートを中央に追加できるように、中央にスペースを残しておきます。

アプリケーションを実行するホストとポートを指定することに注意してください。

モデルを作成してトレーニングする

Titanic データセットをロードし、その上にモデルを作成します。

シンプルなAPIの作成

ここが面白いところです。これで予測ができましたが、予測するための値が必要です。これを行う 1 つの方法は、URL パラメータ、つまり URL 内のキー ? の後に続く値のペアから情報を取得することです。たとえば、http://localhost:4000/predict?pclass=1&sex=1&age=18&fare=500&sibsp=0 に移動すると、Flask がそのデータを取得できます。

ファイルを保存してアプリケーションを起動します。これでシンプルな API モデルが完成しました。

.NET 環境へのデプロイ

Flask を .NET 環境にデプロイするには多くのオプションがあり、それらはインフラストラクチャの選択に大きく依存します。このプロセスを理解するために、Microsoft Azure を使用して IIS 環境にデプロイする方法について見てみましょう。

前提:

  • Azure Cosmos データベースを作成しました (この記事の範囲外)。
  • Flask Web アプリケーションが作成されました (上記のとおり)。
  • Azure と Visual Studio に精通していること。

環境を正しく設定していれば、Web アプリケーションを Azure にデプロイできます。これは、Web サーバー上のファイルをインスタンス内のファイルと一致するように更新する web.config ファイルを作成することによって実行できます。これを行うには、次の手順に従います。

Visual Studio ソリューション エクスプローラーで、プロジェクトを右クリックし、[新しいプロジェクトの追加] を選択します。表示されるダイアログ ボックスで、Azure web.config (Fast CGI) テンプレートを選択し、[OK] を選択します。これにより、プロジェクトのルート ディレクトリに web.config ファイルが作成されます。

パスが Python インストールと一致するように web.config を変更します。たとえば、Python 2.7 x64 の場合、エントリは次のようになります。

次に示すように、プロジェクト名と一致するように、web.config の WSGI_HANDLER エントリを tutorial.app に設定します。

  • Visual Studio ソリューション エクスプローラーで、チュートリアル フォルダーを展開し、Static フォルダーを右クリックして、[追加] > [新しい項目] の順に選択し、Azure Static Files web.config テンプレートを選択して、[OK] を選択します。このアクションにより、static フォルダーに別の web.config が作成され、そのフォルダーの Python 処理が無効になります。この構成では、Python アプリケーションを使用する代わりに、静的ファイルの要求をデフォルトの Web サーバーに送信します。
  • ファイルを保存し、ソリューション エクスプローラーでプロジェクトを右クリックし (ローカルで実行されていないことを確認してください)、[発行] を選択します。
  • [発行] ダイアログ ボックスで、[Microsoft Azure App Service] を選択し、[新規] を選択して、[発行] をクリックします。
  • [アプリケーション サービスの作成] ダイアログ ボックスで、Web アプリケーションの名前、サブスクリプション、リソース グループ、アプリケーション サービス プランを入力します。次に、「作成」をクリックします。
  • 数秒後、Visual Studio はファイルをサーバーにコピーし終え、http://.azurewebsites.net/ ページに次のエラー メッセージが表示されました: 「内部サーバー エラーが発生したため、ページを表示できません」。
  • Azure ポータルで、新しい App Service アカウントを開きます。ナビゲーション メニューで、[開発ツール] セクションまで下にスクロールし、[拡張機能] を選択して [追加] をクリックします。
  • 「拡張機能の選択」ページで、最新の Python 2.7 インストールまで下にスクロールし、x86 または x64 ビット オプションを選択してから、「OK」をクリックして法的条項に同意します。
  • https://scm.azurewebsites.net/DebugConsole にある Kudu コンソールを使用して、アプリケーションの requirements.txt ファイルにリストされているパッケージをインストールします。これを行うには、Kudu 診断コンソールで、D:\home\Python27 の Python フォルダーに移動し、Kudu コンソール セクションで説明されているように、次のコマンドを実行します。

D: ホーム Python27> python -m pip install --upgrade -r /home/site/wwwroot/requirements.txt

  • [再起動] ボタンを押して新しいパッケージをインストールした後、Azure ポータルで App Service を再起動します。

サーバー環境が完全に構成されたら、ブラウザでページを更新して Web アプリケーションを表示します。

<<:  中飛愛威CEO曹飛氏:自動化からインテリジェンスへ、ドローン検査をよりスマートに

>>:  成長痛に遭遇: 2017 年の AI およびビッグデータ業界のレビュー

ブログ    

推薦する

2021 年の人工知能の 4 つのビジネス アプリケーション

[[409268]] [51CTO.com クイック翻訳]人工知能は万能の機械として描かれることが多...

2024年に注目すべき5つの持続可能な技術

今年が進むにつれて、持続可能な開発をめぐる話題はますます高まるばかりであり、気候変動が近づいていると...

オープンソースツール | データサイエンスのための Python 入門

[[248716]]データ サイエンスの力を活用するために高価なツールは必要ありません。これらのオー...

金融業界は AI を活用してデータを強化する準備ができているでしょうか?

金融業界は国民経済の生命線です。モバイルインターネットやオンライン決済の普及により、データは企業にと...

Microsoft は GPT-4V マニュアルを作成しました。166 ページに及ぶ完全かつ詳細な説明と、プロンプト ワードのデモ例が含まれています。

マルチモーダルキングボムモデルGPT-4V、 166ページの「取扱説明書」を公開!これは Micro...

PageRankアルゴリズムとPR値の転送の詳細な分析

PageRank アルゴリズムは、Google のランキング アルゴリズム (ランキング式) の一部...

天津市、スマートテクノロジー産業の発展促進に向け多方面から対策

2017年に第1回世界情報会議が開催されて以来、天津では257件のプロジェクトが実施され、1000億...

ビデオPSツール!文字の非表示と透かしの除去:CVPRで発表されたこの研究はオープンソース化されました

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

「フルスタック自社開発」自動運転に大きな後退か?

01 「フルスタック自主開発」は小さな農民経済過去2年間、私はさまざまな機会に、さまざまなサプライ...

自動運転車は生後7か月の赤ちゃんよりも賢いのでしょうか?

生後 7 か月までに、ほとんどの子供は、物体は見えなくても存在するということを学びます。おもちゃを毛...

Dropbox のエンジニアがロスレス圧縮アルゴリズム「Pied Piper」を開発

Dropbox のエンジニアたちは世界をより良い場所にするために取り組んでおり、HBO のコメディー...

スマートビルディング技術のトレンド: 5つの将来のアイデアと例

1. 拡張現実(AR)建築の世界では、拡張現実と仮想現実が岐路に立っています。 AR はコンピュータ...

OpenAIの最強のライバルトレーニングAIがLLMブラックボックスを分解し、ビッグモデルの「魂」を予期せず垣間見る

大規模なモデルの「ブラックボックス」を解体するために、人類解釈可能性チームは、新しいモデルをトレーニ...

「手を自由にする」は夢ではありません! AI がソフトウェア テストの未来を形作る 5 つの方法...

人工知能は今日最も注目されている流行語であり、その発展により企業や業界は情報に基づいた意思決定を行い...