@@ -277,7 +277,8 @@ def serve(self, model_dir, environment):
277
277
script_dir = environment [sagemaker .estimator .DIR_PARAM_NAME .upper ()]
278
278
parsed_uri = urlparse (script_dir )
279
279
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" ))
281
282
# Update path to mount location
282
283
environment = environment .copy ()
283
284
environment [sagemaker .estimator .DIR_PARAM_NAME .upper ()] = "/opt/ml/code"
@@ -495,7 +496,8 @@ def _prepare_training_volumes(
495
496
training_dir = json .loads (hyperparameters [sagemaker .estimator .DIR_PARAM_NAME ])
496
497
parsed_uri = urlparse (training_dir )
497
498
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" ))
499
501
# Also mount a directory that all the containers can access.
500
502
volumes .append (_Volume (shared_dir , "/opt/ml/shared" ))
501
503
@@ -504,7 +506,8 @@ def _prepare_training_volumes(
504
506
parsed_uri .scheme == "file"
505
507
and sagemaker .model .SAGEMAKER_OUTPUT_LOCATION in hyperparameters
506
508
):
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" )
508
511
if not os .path .exists (intermediate_dir ):
509
512
os .makedirs (intermediate_dir )
510
513
volumes .append (_Volume (intermediate_dir , "/opt/ml/output/intermediate" ))
0 commit comments