Description
Describe the bug
I am trying to use Sagemaker Neo to compile an ONNX model converted from Pytorch before deployment.
To reproduce
sagemaker_model = PyTorchModel(
model_data="pytorch16_onnx_model.tar",
predictor_cls=Predictor,
framework_version="1.6",
role=sagemaker.get_execution_role(),
sagemaker_session=sagemaker.Session(),
entry_point="onnx_model_inference.py",
source_dir="code",
py_version="py3",
env={"MMS_DEFAULT_RESPONSE_TIMEOUT": "500"},
)
compiled_model = sagemaker_model.compile(
target_instance_family="ml_c5",
input_shape='{"0":[1,5,320,320]}',
job_name=name_from_base("PytorchOnnxTest"),
role=sagemaker.get_execution_role(),
framework="ONNX".lower(),
framework_version="1.10.1",
output_path=compiled_model_path,
)
Note that I've tried both pytorch and onnx framework version for the sagemaker_model.compile line and it results in the same error.
Expected behavior
neo-onnx.json to be an existing file.
Screenshots or logs
`---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
in
6 framework=framework.lower(),
7 framework_version=framework_version,
----> 8 output_path=compiled_model_path,
9 )
/opt/conda/lib/python3.7/site-packages/sagemaker/model.py in compile(self, target_instance_family, input_shape, output_path, role, tags, job_name, compile_max_run, framework, framework_version, target_platform_os, target_platform_arch, target_platform_accelerator, compiler_options)
607 target_instance_family,
608 framework,
--> 609 framework_version,
610 )
611 self._is_compiled_model = True
/opt/conda/lib/python3.7/site-packages/sagemaker/model.py in _compilation_image_uri(self, region, target_instance_type, framework, framework_version)
436 region,
437 instance_type=target_instance_type,
--> 438 version=framework_version,
439 )
440
/opt/conda/lib/python3.7/site-packages/sagemaker/image_uris.py in retrieve(framework, region, version, py_version, instance_type, accelerator_type, image_scope, container_version, distribution, base_framework_version)
75 """
76
---> 77 config = _config_for_framework_and_scope(framework, image_scope, accelerator_type)
78 original_version = version
79 version = _validate_version_and_set_if_needed(version, config, framework)
/opt/conda/lib/python3.7/site-packages/sagemaker/image_uris.py in _config_for_framework_and_scope(framework, image_scope, accelerator_type)
149 def _config_for_framework_and_scope(framework, image_scope, accelerator_type=None):
150 """Loads the JSON config for the given framework and image scope."""
--> 151 config = config_for_framework(framework)
152
153 if accelerator_type:
/opt/conda/lib/python3.7/site-packages/sagemaker/image_uris.py in config_for_framework(framework)
185 """Loads the JSON config for the given framework."""
186 fname = os.path.join(os.path.dirname(file), "image_uri_config", "{}.json".format(framework))
--> 187 with open(fname) as f:
188 return json.load(f)
189
FileNotFoundError: [Errno 2] No such file or directory: '/opt/conda/lib/python3.7/site-packages/sagemaker/image_uri_config/neo-onnx.json'`
System information
A description of your system. Please provide:
- SageMaker Python SDK version: 2.59.4
- Framework name (eg. PyTorch) or algorithm (eg. KMeans): Pytorch
- Framework version: 1.6
- Python version: 3.7
- CPU or GPU: GPU
- Custom Docker image (Y/N): N