Slide 21
Slide 21 text
● Request/Response の型定義と
predict method を実装すれば
オンラインサービングが可能
● 学習済みモデルもまとめて
Image に固める
● API のデプロイは設定を書いた
yaml を push するだけ
21
Prediction API (UX)
class Petal(BaseModel):
length: float
width: float
class RequestData(BaseModel):
sepal_length: float
sepal_width: float
petal: Petal
class ResponseData(BaseModel):
predicted: int
label: str
class Predictor:
def __init__(self):
with (SRC_DIR / "my-model.pkl").open("rb") as f:
self.model = pickle.load(f)
def predict(self, data: RequestData, req: Request) -> ResponseData:
# リクエストデータを predict に渡すために変換します
features = [[data.sepal_length, data.sepal_width, data.petal.length, data.petal.width,]]
# レスポンスデータを組み立てます
results = self.model.predict(features)
label = "Iris-Setosa" # dummy
return ResponseData(predicted=results[0], label=label)