FastAPIとDockerを使用してPyTorchモデルを提供する

PyTorchモデルを提供するためのFastAPIとDockerの活用法

SpaceXによるUnsplashでの写真

完全な機械学習サービスの開発方法を学ぶ

紹介

個人の機械学習/ディープラーニングプロジェクトに取り組むことは非常に楽しいです。夜には、ラップトップの前で好きなことをコーディングしたり、面白い論文を読んだりしますし、締切に追われることもありません。私たちはみんな、プログラミングは仕事のためにやらない限り、良いものだと知っています! 😂

とにかく、個人プロジェクトであっても、あなたが行ったことが他の人々にも利用されるようになると、最大の満足感を得ることができます。したがって、他の人々にモデルを提供し、それを実現するための適切なツールを学ぶ必要があります。この記事では、PyTorchを使用して開発されたディープラーニングモデルを、FastAPIDockerを使用して提供する方法を示します。

著者による画像

FastAPIを使用してサーバーをセットアップする

まず、コンピュータビジョンモデルを作成します。このモデルは、猫の画像と魚の画像を認識できるようになります。これを行うために、ResNet50タイプの事前学習済みネットワークを使用し、最後の分類層を変更して出力を2値にします。

次のコードをmodel.pyというファイルに入れました。

from torchvision import modelsimport torch.nn as nnCatfishClasses = ["猫", "魚"]CatfishModel = models.resnet50()CatfishModel.fc = nn.Sequential(    nn.Linear(CatfishModel.fc.in_features, 500),    nn.ReLU(),    nn.Dropout(),    nn.Linear(500, 2))

FastAPIを使用してクライアントが接続できるようにサーバーをインスタンス化します。

from PIL import Imagefrom torchvision import transformsimport torchimport osfrom fastapi import FastAPIfrom fastapi.responses import JSONResponsefrom .model import CatfishModel, CatfishClassesfrom io import BytesIOfrom fastapi import HTTPExceptionimport requestsapp = FastAPI()def open_image(image_path):    # ここに必要な画像前処理ロジックを追加してください    image = Image.open(image_path)    return imagedef load_model():    return [email protected]("/")def status():    return {"status"…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「コマンドバーの創設者兼CEO、ジェームズ・エバンスによるインタビューシリーズ」

ジェームズ・エバンズは、CommandBarの創設者兼CEOであり、製品、マーケティング、顧客チームを支援するために設計されたAIパ...

人工知能

「Ami Hever、UVeyeの共同創設者兼CEO - インタビューシリーズ」

עמיר חבר הוא המנכל והמייסד של UVeye, סטארט-אפ ראיה ממוחשבת בלמידה עמוקה, המציבה את התקן הגלובלי לבדיקת רכבים עם זיהוי...

人工知能

「15Rockの共同創業者兼CEO、ガウタム・バクシ氏によるインタビューシリーズ」

「ガウタム・バクシは、気候リスク管理とアドバイザリーサービスのグローバルリーダーである15Rockの共同創設者兼CEOですガウ...

人工知能

ベイリー・カクスマー、ウォータールー大学の博士課程候補 - インタビューシリーズ

カツマー・ベイリーは、ウォータールー大学のコンピュータ科学学部の博士課程の候補者であり、アルバータ大学の新入教員です...

データサイエンス

アステラソフトウェアのCOO、ジェイ・ミシュラ - インタビューシリーズ

ジェイ・ミシュラは、急速に成長しているエンタープライズ向けデータソリューションの提供企業であるAstera Softwareの最高執...

人工知能

「UVeyeの共同設立者兼CEO、アミール・ヘヴェルについてのインタビューシリーズ」

アミール・ヘヴァーは、UVeyeのCEO兼共同創設者であり、高速かつ正確な異常検出により、自動車およびセキュリティ産業に直面...