Pinferencia로 기계 학습 모델 제공

이 게시물을 읽을 때 아마도 이미 torchserve, triton, seldon core, tfserving, 심지어 kserve를 알고 있거나 시도했을 것입니다. 그들은 좋은 제품입니다. 그러나 매우 간단한 모델을 사용하지 않거나 많은 코드를 작성했으며 모델은 그 일부일 뿐입니다. 코드를 그들과 통합하는 것은 그리 쉽지 않습니다.
여기에 대안이 있습니다: Pinferencia(자세한 자습서는 다음을 방문하십시오: https://pinferencia.underneathall.app/ )

Github: Pinferencia - 마음에 든다면 별표를 해주세요.

설치



pip install "pinferencia[uvicorn]"

빠른 시작



모든 모델 제공

app.py

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


만세, 당신의 서비스는 살아 있습니다. http://127.0.0.1:8000/로 이동하여 즐기십시오.

다음과 같이 사용할 수 있는 전체 API 설명서 페이지가 있습니다.


여기에서 바로 모델을 테스트할 수 있습니다.



딥 러닝 모델이 있습니까? 마찬가지로 쉽습니다. 모델을 훈련하거나 로드하고 서비스에 등록하기만 하면 됩니다. 즉시 살아라.

파이토치

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를 실행하고 즐기세요!

좋은 웹페이지 즐겨찾기