trainしてs3にアップされたモデルをデプロイするコード
from boto3.session import Session class SagemakerClient: def __init__(self): self.client = Session().client("sagemaker", region_name="us-west-2") def create_model(self, model_data_url): model_params = { "ExecutionRoleArn": "hogehoge-fugafuga:role/aipa-sagemaker-train", "ModelName": "sample-model", # モデル名 "PrimaryContainer": { "Image": "hogehoge-fugafuga.com/aipa-sagemaker-test", # ECRにプッシュしたイメージURL "ModelDataUrl": model_data_url # モデルデータが格納されているS3のパス } } self.client.create_model(**model_params) if __name__ == '__main__': model_data_url = 's3://aipa-hogehoge-fugafuga-train/output-data/sample-training2/output/model.tar.gz' SagemakerClient().create_model(model_data_url)
ここから推論ってどうするんや・・・・?って気になったので調べてたら下記が参考になった(考え方ね)
そもそも、チュートリアルにあるnginx.confとかwsgi.pyってなんで???なしてFlask使っているの???って思ってたけど、エンドポイントでの通信はHTTPで行われるので、登録するDocker imageではFlaskやnginx等の設定が必要とのこと。webのミドルウェアかwsgiを使えない人には厳しそう。。。コピペするだけで良いとは思うけど