Обслуживание скриптового режима SageMaker - PullRequest
0 голосов
/ 28 января 2019

Я обучил модель tenorflow.keras с использованием режима сценариев SageMaker следующим образом:

import os

import sagemaker
from sagemaker.tensorflow import TensorFlow

estimator = TensorFlow(entry_point='train.py',
                       source_dir='src',
                       train_instance_type=train_instance_type,
                       train_instance_count=1,
                       hyperparameters=hyperparameters,
                       role=sagemaker.get_execution_role(),
                       framework_version='1.12.0',
                       py_version='py3', 
                       script_mode=True)

Однако как мне указать код обслуживания при вызове estimator.deploy()?И что это по умолчанию?Также есть ли способ изменить nginx.conf, используя режим сценариев?

Ответы [ 2 ]

0 голосов
/ 31 января 2019

В режиме сценария по умолчанию используется метод обслуживания TensorFlow, основанный на обслуживании: https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/estimator.py#L393 Пользовательский сценарий не разрешен для контейнера на основе TFS.Вы можете использовать serve_input_receiver_fn, чтобы указать, как обрабатываются входные данные, как описано здесь: https://www.tensorflow.org/guide/saved_model

Что касается изменения файла ngnix.conf, не существует поддерживаемых способов сделать это.В зависимости от того, что вы хотите изменить в файле конфигурации, вы можете взломать sagemaker-python-sdk, чтобы передать разные значения для этих переменных среды: https://github.com/aws/sagemaker-tensorflow-serving-container/blob/3fd736aac4b0d97df5edaea48d37c49a1688ad6e/container/sagemaker/serve.py#L29

Здесь вы можете переопределить переменные среды: https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/serving.py#L130

0 голосов
/ 29 января 2019

Контейнер Tensorflow с открытым исходным кодом: https://github.com/aws/sagemaker-tensorflow-container Вы можете точно посмотреть, как он работает.Конечно, вы можете настроить его, построить его локально, передать его в ECR и использовать в SageMaker:)

Как правило, его можно развернуть двумя способами:

Я также рекомендовал бы посмотреть примеры TensorFlow здесь: https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-python-sdk

...