Skip to content

Commit 9d8020b

Browse files
fix: local mode absolute dir path for volumes
1 parent 99f023e commit 9d8020b

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/sagemaker/local/image.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,8 @@ def serve(self, model_dir, environment):
277277
script_dir = environment[sagemaker.estimator.DIR_PARAM_NAME.upper()]
278278
parsed_uri = urlparse(script_dir)
279279
if parsed_uri.scheme == "file":
280-
volumes.append(_Volume(parsed_uri.path, "/opt/ml/code"))
280+
host_dir = os.path.abspath(parsed_uri.netloc + parsed_uri.path)
281+
volumes.append(_Volume(host_dir, "/opt/ml/code"))
281282
# Update path to mount location
282283
environment = environment.copy()
283284
environment[sagemaker.estimator.DIR_PARAM_NAME.upper()] = "/opt/ml/code"
@@ -495,7 +496,8 @@ def _prepare_training_volumes(
495496
training_dir = json.loads(hyperparameters[sagemaker.estimator.DIR_PARAM_NAME])
496497
parsed_uri = urlparse(training_dir)
497498
if parsed_uri.scheme == "file":
498-
volumes.append(_Volume(parsed_uri.path, "/opt/ml/code"))
499+
host_dir = os.path.abspath(parsed_uri.netloc + parsed_uri.path)
500+
volumes.append(_Volume(host_dir, "/opt/ml/code"))
499501
# Also mount a directory that all the containers can access.
500502
volumes.append(_Volume(shared_dir, "/opt/ml/shared"))
501503

@@ -504,7 +506,8 @@ def _prepare_training_volumes(
504506
parsed_uri.scheme == "file"
505507
and sagemaker.model.SAGEMAKER_OUTPUT_LOCATION in hyperparameters
506508
):
507-
intermediate_dir = os.path.join(parsed_uri.path, "output", "intermediate")
509+
dir_path = os.path.abspath(parsed_uri.netloc + parsed_uri.path)
510+
intermediate_dir = os.path.join(dir_path, "output", "intermediate")
508511
if not os.path.exists(intermediate_dir):
509512
os.makedirs(intermediate_dir)
510513
volumes.append(_Volume(intermediate_dir, "/opt/ml/output/intermediate"))

0 commit comments

Comments
 (0)