我正试图将一个参数作为已部署模型的环境变量发送。我运行了一个超参数优化运行,并希望将其中一个模型参数的字符串传递到已部署的端点。
我正在加载我受过训练的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']时,它似乎不起作用。我得到一个错误,没有这样的环境变量?我遗漏了什么?我应该把绳子往这边传递吗?
我还在model.py脚本中使用model.py,这个脚本在inference.py中被调用。
我怎样才能把绳子传过来?我需要这样做(它需要自动化,我不能手动更改模型名称),因为我将把它交给一些人来直接运行,他们不能手动更改架构名称。
编辑:我尝试了SM_ARCHITECTURE_NAME,因为在培训期间,SageMaker经常将"SM_“添加到环境变量/超参数中,但这也不起作用。
发布于 2022-02-18 21:59:07
这是将环境变量传递给端点的正确方法。您能否确保您使用的是SageMaker SDK的最新版本,然后再试一次?
https://stackoverflow.com/questions/69533933
复制相似问题