機械学習モデルを .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 およびビッグデータ業界のレビュー

推薦する

人工ニューラルネットワークは、体型を崩すことなく、一瞬で老けたり若返ったりすることができる

ディープラーニングマシンは、人が年をとった後の顔がどのようになるかを示すことができますが、多くの場合...

ディープラーニングの発展とそれが引き起こした気候変動問題

人間の脳は極めて効率的な知能の源ですが、現在の AI はこのレベルに到達できません。 [[33099...

人工知能教育の時代が到来。AIは何ができるのか?

[[265994]]最近、国際人工知能教育会議、第3回世界知能会議が相次いで開催され、さまざまなA...

T11 2019データインテリジェンステクノロジーサミット開催 AIは業界の破壊的変化をもたらす

[[283929]] 図: T11 2019 データインテリジェンステクノロジーサミット現在、データ...

人工知能の台頭によりプログラマーは消滅するのでしょうか?

ローコードおよびノー​​コード プラットフォームの爆発的な成長により、個人でも組織でも、従来はコード...

アリババが3D位置マップ圧縮アルゴリズムを革新、その論文結果がトップカンファレンスCVPR 2022に選出

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

RPAは人工知能の究極の発展方向でしょうか?

ロボティック・プロセス・オートメーション (RPA) は、単調で反復的なタスクを排除するのでしょうか...

AIエンジニアリングのためのJavaScriptツールトップ5

多くの人が驚くことに、Web 開発の分野で常に人気がある JavaScript は、大規模言語モデル...

人工知能と5Gアプリケーションはもはや単なる「紙の設計図」ではなく、デジタル経済の発展が加速している

新たな科学技術革命と産業変革が加速する中、デジタル技術がもたらす成長の配当をすべての人がいかに共有で...

AlphaFold2 の原理: 注意メカニズムが畳み込みネットワークに取って代わり、予測精度が 30% 以上向上

[[412540]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

年末総括:2020 年の人工知能の注目イベント一覧

スマート製造ネットワークニュース:2020年、「人工知能」は産業発展における高頻度のホットワードとな...

TuSimpleはAIと自動運転に注力し、時価総額84億ドル超でナスダックに正式に上場した。

海外メディアの報道によると、人工知能(AI)と自動運転の企業TuSimpleが株式コード「TSP」で...

2024年に注目すべき主要な通信技術のトレンド

通信業界は、革新的な技術の発展と顧客の要求により急速に進化しています。 2024 年は、通信業界にと...