Как вы устанавливаете модули в учебных заданиях Sagemaker? - PullRequest
0 голосов
/ 29 ноября 2018

Не думаю, что я правильно задаю этот вопрос, но у меня есть блокнот jupyter, который запускает учебное задание Tensorflow с написанным мной сценарием обучения python.

Для этого учебного сценария требуются определенные модули.Похоже, моя учебная работа Sagemaker провалилась, потому что некоторые модули не существуют.

Как я могу убедиться, что в моем учебном скрипте есть все необходимые модули?

Редактировать

Примером одного из этих модулей является keras.

Странно, я могу import keras в блокноте Jupyter, но когда это утверждение импорта находится в моем обучениисценарий, то я получаю No module named keras ошибка

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Среда на экземпляре вашего ноутбука является исключительной из среды вашей учебной работы в SageMaker, если только это не локальный режим.

Если вы используете настраиваемый образ докера, то, скорее всего, ваш образ докера не подходит.Keras не установлен.

Если вы используете предопределенный контейнер TensorFlow SageMaker, который, скорее всего, вызывается с помощью следующего кода:

https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/estimator.py#L170

TensorFlow(entry_point='training_code.py',
           blah,
           blah
          )

Затем вам нужно будет установить ваши зависимости внутри этого контейнера.В настоящее время есть два режима обучения для TensorFlow в SageMaker, режим «framework» и «script».


Если вы тренируетесь в режиме «framework», который доступен только с 1.12 и ниже, то вы будетеограничиться использованием keras_model_fn, определенным здесь: https://github.com/aws/sagemaker-python-sdk/tree/v1.12.0/src/sagemaker/tensorflow#preparing-the-tensorflow-training-script

Установка ваших зависимостей может быть выполнена путем передачи в файл require.txt.


В «режиме сценария», который вводитсяс TensorFlow 1.11 и выше: https://github.com/aws/sagemaker-python-sdk/tree/master/src/sagemaker/tensorflow#training-with-tensorflow

Requirements.txt не поддерживается для режима «скрипт», и вместо этого рекомендуется установить ваши зависимости в вашем пользовательском скрипте, который будет вашим файлом Python, который содержит всеВаш код Keras.

Пожалуйста, дайте мне знать, если есть что-то, что я могу уточнить.

Например:

0 голосов
/ 29 ноября 2018

Сценарий модуля выполняется в контейнере Docker, который, очевидно, не имеет установленной зависимости.Ноутбук Jupyter с другой стороны имеет предварительно установленные керасы.Простой способ сделать это - иметь файл require.txt со всеми требованиями, а затем передать его при создании модели.

env = {
    'SAGEMAKER_REQUIREMENTS': 'requirements.txt', # path relative to `source_dir` below.
}
sagemaker_model = TensorFlowModel(model_data = 's3://mybucket/modelTarFile,
                                  role = role,
                                  entry_point = 'entry.py',
                                  code_location = 's3://mybucket/runtime-code/',
                                  source_dir = 'src',
                                  env = env,
                                  name = 'model_name',
                                  sagemaker_session = sagemaker_session,
                                 )
...