Проблема с развертыванием лучшего оценщика, полученного с помощью sagemaker.estimator.Estimator (с пользовательским изображением sklearn) - PullRequest
0 голосов
/ 22 сентября 2019

После создания экземпляра SKLearn () и использования HyperparamaterTuner с несколькими диапазонами гиперпараметров я получаю наилучшую оценку.Когда я пытаюсь развернуть () оценщик, он выдает ошибку в журнале.Точно такая же ошибка происходит, когда я создаю преобразователь и вызываю преобразование ().Не развертывается и не трансформируется.В чем может быть проблема и, по крайней мере, как я могу сузить проблему?

Я понятия не имею, как вообще начать понимать это.Гугл не помог.Ничего не подходит

Создание экземпляра SKLearn:

sklearn = SKLearn(
    entry_point=script_path,
    train_instance_type="ml.c4.xlarge",
    role=role,
    sagemaker_session=session,
    hyperparameters={'model': 'rfc'})

Включение работы тюнера:

tuner = HyperparameterTuner(estimator = sklearn,
                            objective_metric_name = objective_metric_name,
                            objective_type = 'Minimize',
                            metric_definitions = metric_definitions,
                            hyperparameter_ranges = hyperparameters,
                            max_jobs = 3, # 9,
                            max_parallel_jobs = 4)

tuner.fit({'train': s3_input_train})
tuner.wait()
best_training_job = tuner.best_training_job()
the_best_estimator = sagemaker.estimator.Estimator.attach(best_training_job)

Это дает действительную лучшую учебную работу.Кажется, все отлично.

Вот где проявляется проблема:

predictor = the_best_estimator.deploy(initial_instance_count=1, instance_type="ml.m4.xlarge")

или следующее (запускает точно такую ​​же проблему):

rfc_transformer = the_best_estimator.transformer(1, instance_type="ml.m4.xlarge")
rfc_transformer.transform(test_location)
rfc_transformer.wait()

Вот журнал с сообщением об ошибке (он повторяет одну и ту же ошибку много раз при попытке развертывания или преобразования; вот начало журнала):

................ [2019-09-22 09:17:48 +0000] [17] [INFO] Запуск gunicorn 19.9.0

[2019-09-22 09:17:48 +0000] [17] [INFO] Прослушивание: unix: /tmp/gunicorn.sock (17)

[2019-09-22 09:17:48 +0000] [17] [INFO] Использование работника: gevent

[2019-09-22 09:17:48 +0000] [24] [INFO] Загрузка работника с pid: 24

[2019-09-22 09:17:48 +0000] [25] [INFO] Загрузка работникас pid: 25

[2019-09-22 09:17:48 +0000] [26] [INFO] Загрузка рабочего с pid: 26

[2019-09-22 09:17:48 +0000] [30] [INFO] Загрузка рабочего с pid: 30

2019-09-22 09: 18: 15,061 INFO - контейнеры sagemaker - графические процессоры не обнаружены (нормально, если не установлен gpus)

2019-09-22 09: 18: 15,062 INFO - sagemaker_sklearn_container.serving - Обнаружена непредвиденная ошибка.

[2019-09-22 09:18:15 +0000] [24] [ERROR] Запрос на обработку ошибки/ ping

Трассировка (последний последний вызов):

Файл "/usr/local/lib/python3.5/dist-packages/gunicorn/workers/base_async.py", строка 56, в дескрипторе self.handle_request (listener_name, req, client, addr)

Файл "/usr/local/lib/python3.5/dist-packages/gunicorn/workers/ggevent.py", строка 160,в handle_request addr)

Файл "/usr/local/lib/python3.5/dist-packages/gunicorn/workers/base_async.py", строка 107, в handle_request respiter = self.wsgi (environment, resp*

Файл "/usr/local/lib/python3.5/dist-packages/sagemaker_sklearn_container/serving.py", строка 97, в импеort_module user_module = importlib.import_module (имя_модуля)

Файл "/usr/lib/python3.5/importlib/init.py", строка 117, в import_module, если name.startswith ('. '):

AttributeError: у объекта' NoneType 'нет атрибута' setswith '

169.254.255.130 - - [22 / Sep / 2019: 09: 18: 15 +0000] "GET/ ping HTTP / 1.1 "500 141" - "" Go-http-client / 1.1 "

2019-09-22 09: 18: 15,178 INFO - контейнеры sagemaker - графические процессоры не обнаружены (нормально, если нет графического процессораустановлен)

2019-09-22 09: 18: 15,179 INFO - sagemaker_sklearn_container.serving - Обнаружена непредвиденная ошибка.

[2019-09-22 09:18:15 +0000] [30] [ОШИБКА] Ошибка обработки запроса / ping

Трассировка (последний последний вызов):

Файл "/usr/local/lib/python3.5/dist-packages/gunicorn/workers/base_async.py ", строка 56, в дескрипторе self.handle_request (имя слушателя, req, клиент, адрес)

Файл" /usr/local/lib/python3.5/dist-packages/gunicorn/workers/ggevent.py ", строка 160, в handle_запросить адрес)

Файл "/usr/local/lib/python3.5/dist-packages/gunicorn/workers/base_async.py", строка 107, в handle_request respiter = self.wsgi (environment, resp.start_response)

Файл "/usr/local/lib/python3.5/dist-packages/sagemaker_sklearn_container/serving.py", строка 119, в основном user_module_transformer = import_module (serve_env.module_name, serve_env.module_dir)

Файл "/usr/local/lib/python3.5/dist-packages/sagemaker_sklearn_container/serving.py", строка 97, в файле import_module user_module = importlib.import_module (имя_модуля)

Файл "/ usr / lib /python3.5 / importlib / init .py ", строка 117, в файле import_module, если name.startswith ('.'):

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...