#amazon-sagemaker
Вопрос:
Я пытаюсь отправить параметр в качестве переменной среды для моей развернутой модели. Я запустил настройку гиперпараметров и хочу передать строку для одного из параметров модели в развернутую конечную точку.
Я загружаю свою обученную модель PyTorch с:
inference_model = PyTorchModel(
entry_point="inference.py",
source_dir="serve",
role=role,
model_data=model_data_s3_path,
env={'MODEL_ARCHITECTURE': best_architecture_name},
framework_version="1.8.1",
py_version="py36",
)
Я использую «env», чтобы попытаться захватить его во время вывода, но, похоже, это не работает, когда я использую os.environ['MODEL_ARCHITECTURE']
. Я получаю сообщение об ошибке, что такой переменной среды не существует? Что я упускаю? Должен ли я вообще передавать строку таким образом?
Я также использую os.environ['MODEL_ARCHITECTURE']
в model.py
скрипте, который называется in inference.py
.
Как я могу передать строку дальше? Мне нужно сделать это таким образом (это должно быть автоматизировано, я не могу изменить название модели вручную), так как я передам его некоторым людям, чтобы они провели его напрямую, и они не смогут вручную изменить название архитектуры.
РЕДАКТИРОВАТЬ: Я попробовал SM_ARCHITECTURE_NAME, так как SageMaker часто добавляет «SM_» к переменным среды / гиперпараметрам во время обучения, но это тоже не сработало.
Комментарии:
1. это действительно удивительно, это должно работать нормально (пример здесь github.com/aws/amazon-sagemaker-examples/blob/master/… ). Вы уверены, что строка точно такая же между вызовом SDK и os.environ[‘строка’] в контейнере?