in src/sagemaker/modules/train/model_trainer.py [0:0]
def _populate_intelligent_defaults_from_training_job_space(self):
"""Function to populate all the possible default configs from Training Job Space"""
if not self.environment:
self.environment = resolve_value_from_config(
config_path=TRAINING_JOB_ENVIRONMENT_PATH, sagemaker_session=self.sagemaker_session
)
default_enable_network_isolation = resolve_value_from_config(
config_path=TRAINING_JOB_ENABLE_NETWORK_ISOLATION_PATH,
sagemaker_session=self.sagemaker_session,
)
default_vpc_config = resolve_value_from_config(
config_path=TRAINING_JOB_VPC_CONFIG_PATH, sagemaker_session=self.sagemaker_session
)
if not self.networking:
if default_enable_network_isolation is not None or default_vpc_config is not None:
self.networking = Networking(
default_enable_network_isolation=default_enable_network_isolation,
subnets=resolve_value_from_config(config_path=TRAINING_JOB_SUBNETS_PATH),
security_group_ids=resolve_value_from_config(
config_path=TRAINING_JOB_SECURITY_GROUP_IDS_PATH
),
)
else:
if self.networking.enable_network_isolation is None:
self.networking.enable_network_isolation = default_enable_network_isolation
if self.networking.subnets is None:
self.networking.subnets = resolve_value_from_config(
config_path=TRAINING_JOB_SUBNETS_PATH
)
if self.networking.security_group_ids is None:
self.networking.subnets = resolve_value_from_config(
config_path=TRAINING_JOB_SUBNETS_PATH
)
if not self.output_data_config:
default_output_data_config = resolve_value_from_config(
config_path=TRAINING_JOB_OUTPUT_DATA_CONFIG_PATH
)
if default_output_data_config:
self.output_data_config = OutputDataConfig(
**self._convert_keys_to_snake(default_output_data_config)
)
if not self.compute:
default_resource_config = resolve_value_from_config(
config_path=TRAINING_JOB_RESOURCE_CONFIG_PATH
)
if default_resource_config:
self.compute = Compute(**self._convert_keys_to_snake(default_resource_config))
if not self.role:
self.role = resolve_value_from_config(config_path=TRAINING_JOB_ROLE_ARN_PATH)
if not self.tags:
self.tags = resolve_value_from_config(config_path=TRAINING_JOB_TAGS_PATH)