Module sktmls.model_registry

Classes

class ModelRegistry (env: MLSENV = None, runtime_env: MLSRuntimeENV = None)

모델 레지스트리 클래스입니다.

Args

아래의 환경 변수가 정의된 경우 해당 파라미터를 생략 가능합니다.

  • $MLS_ENV: env
  • $AWS_ENV: env
  • $MLS_RUNTIME_ENV: runtime_env

Returns

ModelRegistry

Example

model_registry = ModelRegistry(env=MLSENV.STG, runtime_env=MLSRuntimeENV.LOCAL)

Methods

def list_models(self) ‑> List[str]

MLS 모델 레지스트리에 등록된 모든 모델 이름을 리스트로 가져옵니다.

Returns

list(str)

Example

model_registry = ModelRegistry(env=MLSENV.STG)
model_names = model_registry.list_models()
def list_versions(self, model_name: str) ‑> List[str]

MLS 모델 레지스트리에 등록된 모델의 모든 버전을 리스트로 가져옵니다.

Args

  • model_name: (str) 모델 이름

Returns

list(str)

Example

model_registry = ModelRegistry(env=MLSENV.STG)
model_versions = model_registry.list_versions("hello_model")
def load(self, model_name: str, model_version: str) ‑> MLSModel

MLS 모델 레지스트리로부터 모델 객체를 가져옵니다.

Args

  • model_name: (str) 모델 이름
  • model_version: (str) 모델 버전

Returns

MLSModel

Example

model_registry = ModelRegistry(env=MLSENV.STG)
hello_model_v1 = model_registry.load(model_name="hello_model", model_version="v1")
results = hello_model_v1.predict([1, 2, 3])
def save(self, mls_model: MLSModel, force: bool = False, custom_predict_async_path: str = None)

모델 바이너리(model.joblib)와 정보(model.json)를 MLS 모델 레지스트리에 등록합니다.

MLSModel.save()와 동일하게 동작합니다.

Args

  • mls_model: (MLSModel) 모델 객체
  • force: (optional) (bool) 이미 모델 레지스트리에 등록된 경우 덮어 쓸 것인지 여부 (기본값: False)
  • custom_predict_async_path: (optional) (str) predict_async.py 파일 경로 (기본값: None)

Example

model_registry = ModelRegistry(env=MLSENV.STG)
model_registry.save(gbm_model)
def save_and_deploy(self, mls_model: MLSModel, ml_model_client: MLModelClient, force: bool = False, custom_predict_async_path: str = None) ‑> ManualModel

모델 바이너리(model.joblib)와 정보(model.json)를 MLS 모델 레지스트리에 등록하고, 해당 바이너리를 참조하는 MLS의 일반 모델(ManualModel)을 생성(deploy)합니다.

일반 모델은 deploy 후 버킷에 연결되어 정상 동작하기 까지 약 한 시간이 소요됩니다.

Args

  • mls_model: (MLSModel) 모델 객체
  • ml_model_client: (MLModelClient) 모델 클라이언트
  • force: (bool) 이미 모델 레지스트리에 등록된 경우 덮어 쓸 것인지 여부 (기본값: False)
  • custom_predict_async_path: (optional) (str) predict_async.py 파일 경로 (기본값: None)

Example

ml_model_client = MLModelClient(env=MLSENV.STG, runtime_env=MLSRuntimeENV.YE, username="mls_account", password="mls_password")
model_registry = ModelRegistry(env=MLSENV.STG)
model_registry.save_and_deploy(gbm_model, ml_model_client)
class ModelRegistryError (msg)

Common base class for all non-exit exceptions.

Ancestors

  • builtins.Exception
  • builtins.BaseException