У меня есть простая модель scikit-learn, которую я успешно построил, обучил и развернул с помощью Amazon Sagemaker.
Теперь я хочу взять эту модель и создать для нее автоматическое развертывание с помощью Cloudformation - я ' Я использовал блог Жюльена Саймона в качестве руководства. Я добавил обучающее изображение, URL-адрес данных модели и роль выполнения в шаблон CFN, как показано, и развертывание работает.
Однако я вижу, что конечная точка не отвечает на проверку работоспособности, поэтому CFN запускает ее назад. Информация об ошибке ниже:
[ERROR] Error handling request /ping
AttributeError: 'NoneType' object has no attribute 'startswith'
Полная трассировка стека:
Traceback (most recent call last):
File "/miniconda3/lib/python3.7/site-packages/gunicorn/workers/base_async.py", line 56, in handle
self.handle_request(listener_name, req, client, addr)
File "/miniconda3/lib/python3.7/site-packages/gunicorn/workers/ggevent.py", line 160, in handle_request
addr)
File "/miniconda3/lib/python3.7/site-packages/gunicorn/workers/base_async.py", line 107, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File "/miniconda3/lib/python3.7/site-packages/sagemaker_sklearn_container/serving.py", line 119, in main
user_module_transformer = import_module(serving_env.module_name, serving_env.module_dir)
File "/miniconda3/lib/python3.7/site-packages/sagemaker_sklearn_container/serving.py", line 97, in import_module
user_module = importlib.import_module(module_name)
File "/miniconda3/lib/python3.7/importlib/__init__.py", line 118, in import_module
if name.startswith('.'):
Я вижу, что у других была эта проблема, и решение, похоже, связано с отсутствующими переменными среды -
https://forums.aws.amazon.com/thread.jspa?threadID=313943
https://forums.aws.amazon.com/thread.jspa?threadID=313838
Однако, если я проверю задание по обучению SM (которое, как мне кажется, я имитирую в CF, копируя артефакты изображения и модели), я вижу, что установлены "sagemaker_program" и "sagemaker_submit_directory", но отсутствует "SAGEMAKER_DEFAULT_INVOCATIONS_ACCEPT".
Я также могу посмотрите, есть ли способ создать файл докеров и установить переменные env вручную: https://github.com/aws/sagemaker-containers
Мой вопрос: можно ли заставить эти обучающие образы Sagemaker работать в Cloudformation, не переходя продолжительность создания нового файла / контейнера докеров? Если проблема заключается в переменных ENV, есть ли способ установить их в учебном задании, чтобы они использовались при развертывании образа с помощью шаблона CFN и должным образом реагировали на проверку работоспособности?