Как я могу развернуть модель машинного обучения из ECS в Sagemaker?

У меня есть модель, которую обучили локально, а затем перенесли в AWS ECS. Я хочу развернуть его в Sagemaker.

В настоящее время занимаюсь:

from sagemaker.estimator import Estimator
model = Estimator(image,
                  role, 1, 'ml.c4.2xlarge',
                  output_path="s3://{}/output".format(sess.default_bucket()),
                  sagemaker_session=sess)

Но когда я звоню

from sagemaker.predictor import csv_serializer
predictor = agent.deploy(1, 'ml.t2.medium', serializer=csv_serializer)

Я получил:

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-5-0ca9477e4acb> in <module>()
      1 from sagemaker.predictor import csv_serializer
----> 2 predictor = model.deploy(1, 'ml.t2.medium', serializer=csv_serializer)

~/anaconda3/envs/python3/lib/python3.6/site-packages/sagemaker/estimator.py in deploy(self, initial_instance_count, instance_type, endpoint_name, **kwargs)
    177         """
    178         if not self.latest_training_job:
--> 179             raise RuntimeError('Estimator has not been fit yet.')
    180         endpoint_name = endpoint_name or self.latest_training_job.name
    181         self.deploy_instance_type = instance_type

RuntimeError: Estimator has not been fit yet.

Но он подошел ... только не на Sagemaker. Как я могу решить эту проблему?


person Martin Thoma    schedule 31.01.2018    source источник
comment
Вы пытались использовать SDK SageMaker напрямую? Вам необходимо создать модель (boto3.readthedocs .io / en / latest / reference / services /), а затем создайте конфигурацию конечной точки (boto3.readthedocs.io/en/latest/reference/services/) и, наконец, создайте конечную точку (boto3.readthedocs.io/en/latest/reference/services/)   -  person Guy    schedule 04.02.2018
comment
Привет, у меня такая же проблема. Я обучил модель локально и хочу развернуть ее в SageMaker. Как вы ее решили?   -  person Odgiiv    schedule 21.03.2018


Ответы (1)


Вы можете создать экземпляр Model, чтобы разверните модель на конечной точке, которая не была обучена в SageMaker:

mxnet_model = MXNetModel(model_data="s3://bucket/model.tar.gz", 
                         role="SageMakerRole", 
                         entry_point="trasform_script.py")

predictor = mxnet_model.deploy(instance_type="ml.c4.xlarge", 
                               initial_instance_count=1)

Репозиторий GitHub https://github.com/awslabs/amazon-sagemaker-examples содержит дополнительные примеры развертывания моделей: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/tensorflow_iris_byom/tensorflow_BYOM_iris.ipynb и https://github.com/awslabs/amazon-sagemaker-examples/tree/master/advanced_functionality/mxnet_mnist_byom

sagemaker amazon-sagemaker model вывод

person Marcio dos Santos    schedule 09.04.2018