Pinferenciaによる機械学習モデルの提供


このポストを読むとき、あなたはおそらくすでに知られているか、Torchserve、Triton、Seldonコア、TFサービング、Kserveさえ試みました.彼らは良い製品です.しかし、非常に単純なモデルを使用していないか、多くのコードを書いている場合は、モデルはそれの一部だけです.それは彼らとあなたのコードを統合することは簡単ではありません.
Pinferencia (もっとチュートリアルをご覧ください.
ギタブ:https://pinferencia.underneathall.app/ - 閉じるこの動画はお気に入りから削除されています.

ピンフェルニア インストール


pip install "pinferencia[uvicorn]"

クイックスタート


サーブモデル
アプリ.パイ
from pinferencia import Server


class MyModel:
    def predict(self, data):
        return sum(data)


model = MyModel()

service = Server()
service.register(
    model_name="mymodel",
    model=model,
    entrypoint="predict",
)
ジャスト・ラン
uvicorn app:service --reload
さあ、あなたのサービスは生きている. に行って、楽しんでください.
以下のようにして、完全なAPIドキュメントページを再生できます.
http://127.0.0.1:8000/
ここでモデルをテストできます.

任意の深い学習モデル?簡単に.単に列車やモデルをロードし、サービスとそれを登録します.すぐに生きてください.
ピーチ
import torch

from pinferencia import Server


# train your models
model = "..."

# or load your models (1)
# from state_dict
model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))

# entire model
model = torch.load(PATH)

# torchscript
model = torch.jit.load('model_scripted.pt')

model.eval()

service = Server()
service.register(
    model_name="mymodel",
    model=model,
)
張力
import tensorflow as tf

from pinferencia import Server


# train your models
model = "..."

# or load your models (1)
# saved_model
model = tf.keras.models.load_model('saved_model/model')

# HDF5
model = tf.keras.models.load_model('model.h5')

# from weights
model = create_model()
model.load_weights('./checkpoints/my_checkpoint')
loss, acc = model.evaluate(test_images, test_labels, verbose=2)

service = Server()
service.register(
    model_name="mymodel",
    model=model,
    entrypoint="predict",
)
どんなフレームワークのどんなモデルでも、ちょうど同じように働きます.今uvicorn app:service --reloadを実行し、お楽しみください!