При развертывании моделей SageMaker ищет S3, чтобы найти ваш обученный артефакт модели. Кажется, что на s3://tree/sklearn/output/model.tar.gz
нет обученного модельного артефакта. Не забудьте сохранить артефакт модели в своем учебном скрипте в соответствующем локальном местоположении в докере /opt/ml/model
.
например, в вашем учебном скрипте это может выглядеть так:
joblib.dump(model, /opt/ml/model/mymodel.joblib)
После обучения SageMaker скопирует содержимое /opt/ml/model
в s3 в месте output_path
.
Если вы развернете в том же сеансе, model.deploy()
автоматически отобразится на путь артефакта. Если вы хотите развернуть модель, которую вы изучали в другом месте, возможно, во время другого сеанса или на другом оборудовании, вам необходимо явно создать экземпляр модели перед развертыванием
from sagemaker.sklearn.model import SKLearnModel
model = SKLearnModel(
model_data='s3://...model.tar.gz', # your artifact
role=get_execution_role(),
entry_point='script.py') # script containing inference functions
model.deploy(
instance_type='ml.m5.xlarge',
initial_instance_count=1,
endpoint_name='your_endpoint_name')
Подробнее о Sklearn в SageMaker можно узнать здесь https://sagemaker.readthedocs.io/en/stable/using_sklearn.html