Unsplash の Franck V による写真 この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。 この記事を読めば、希望するプログラミング言語で機械学習モデルを展開し、予測を行うことができるようになります。はい、Python を使い続けることも、Java または Kotlin を介して Android アプリで直接予測を行うこともできます。あるいは、Web アプリケーションでモデルを直接使用することもできます。選択肢は数多くあります。簡単にするために、Postman を使用します。 ただし、オプションが非常に多いため、このモデルをライブ サーバーに配置する方法については説明しません。モデルはローカルホスト上で実行されるため、別のネットワークからはアクセスできません (ただし、モデルを AWS などにデプロイする方法については、Google で検索してください)。 次のようなディレクトリ構造を作成しました。 ML 展開:
Anaconda 経由で Python をインストールした場合は、Flask を除くすべてのライブラリが事前にインストールされている可能性があります。したがって、ターミナルを起動して次のステートメントを実行します。
順調に進んでいますか?よし、それでは本題に入りましょう。 基本的な予測スクリプトの作成 ディレクトリ構造に従っている場合は、model/Train.py ファイルが開いているはずです。まず、アイリス データセットを読み込み、単純な決定木分類器を使用してモデルをトレーニングします。トレーニングが完了したら、joblib ライブラリを使用してモデルを保存し、精度スコアをユーザーに報告します。 ここでは何も複雑なことはありません。この記事の焦点は機械学習ではなく、単にモデルの展開だからです。スクリプト全体は次のとおりです。
展開する これで、app.py ファイルを開いてインポートを行うことができます。 OS モジュール (Flask と Flask RESTful の一部、10 秒前に作成したモデル トレーニング スクリプト) が必要であり、それらおよび joblib をトレーニング モデルに読み込む必要があります。
ここで、Flask のインスタンスと Flask RESTful からの API を作成する必要があります。何も複雑なことはありません:
次に行うことは、モデルがトレーニングされたかどうかを確認することです。 Train.py では、モデルが iris-model.model ファイルに保存され、そのファイルが存在しない場合は、まずモデルをトレーニングする必要があることを指定しています。トレーニングが完了したら、joblib を通じてロードできます。
ここで、予測を行うためのクラスを宣言する必要があります。 Flask RESTful はこのコーディング規則を使用するため、クラスは Flask RESTful リソース モジュールから継承する必要があります。クラスでは、get()、post()、またはデータを処理するその他のメソッドを宣言できます。 データが URL を介して直接渡されないように、 post() を使用します。ユーザー入力から属性を取得する必要があります(ユーザーが入力した属性値に基づいて予測を行います)。次に、読み込んだモデルの .predict() 関数を呼び出すことができます。このデータセットのターゲット変数の形式が ('Iris-setosa', 'Iris versicolor', 'Iris virginica') ではなく (0, 1, 2) であるため、これも修正する必要があります。最後に、予測の JSON 表現を返すことができます。
もうすぐ到着です。そのまま進みましょう!また、リクエストを処理するために使用される URL の部分であるルートを宣言する必要があります。
最後に、Python にアプリケーションをデバッグ モードで実行するように指示します。
それは正しいことだ。 Postman やその他のツールを使用してモデルを起動し、予測を行うことができます。 何か見逃した場合に備えて、app.py ファイル全体を参考として示します。
さて、準備はいいですか? 良い!ルート ディレクトリ (app.py がある場所) に移動し、ターミナルを起動して以下を実行します。
約 1 秒後、アプリケーションがローカルホスト上で実行されていることを示す出力が表示されます。 ここで、Postman を開いて次の操作を行います。
次に、[送信] をクリックします。 見て!ほぼすぐにモデルからの予測が得られます。 最後に この記事を最後まで読んでいただければ幸いです。すべてをコピーして貼り付けるだけであれば、必要なライブラリがすべてインストールされている限り、問題なく実行できるはずです。 新しく得た知識を、独自のデータセットやビジネス上の問題に活用することを強くお勧めします。 Python 以外の言語でアプリケーションを作成し、データと機械学習関連のものにのみ Python を使用する場合に便利です。 出典: http://t.cn/AirsMxVF |
<<: 将来、人工知能は冷酷な大量虐殺者になるのでしょうか?
将来の 6G ネットワークのより豊富なビジネス アプリケーションと極めて厳しいパフォーマンス要件を満...
この記事では主にルーティング アルゴリズムの概念を説明し、ルーティング アルゴリズムの基本的な概念を...
制作:ビッグデータダイジェスト編集部ZAOは一夜にして人気者になった。一昨夜、文翁の友人の輪には、さ...
[[437396]]コネチカット州スタンフォード — 新しいレポートによると、人工知能 (AI) を...
通信業界は現在、競争力を維持するために IoT を収益化するという厳しい課題に直面しており、高度なテ...
2022年は、インテリジェント運転がL2からL3/L4に飛躍する絶好のチャンスです。ますます多くの自...
ビッグデータ、自動化、ニューラルネットワークが日常語となっている世界では、人工知能とその背後にあるプ...
[[191733]]諺にもあるように、「時間と空間は予測不可能である」。自然界では、時間と空間が急速...
11月9日、スタンフォード大学の最近の研究で、スマートフォンは音声パターンから人が酔っているかどうか...
先ほど終わった快手千夜一夜パーティで、ディルラバ・ディルムラトの突然の登場に、司会者と観客から「かっ...
データセットの構築、ニューラル ネットワークのコーディング、モデルのトレーニングに何週間も費やした後...