class_docstr: Helper class that interacts with the SageMaker training service.
class_docstr_tok: ["Helper","class","that","interacts","with","the","SageMaker","training","service","."]
docstr: Start a training job.
  
  Args:
      job_settings (_JobSettings): the job settings.
      func: the function to be executed.
      func_args: the positional arguments to the function.
      func_kwargs: the keyword arguments to the function
  
  Returns:
      the _Job object.
docstr_tok: ["Start","a","training","job",".","Args",":","job_settings","(","_JobSettings",")",":","the","job","settings",".","func",":","the","function","to","be","executed",".","func_args",":","the","positional","arguments","to","the","function",".","func_kwargs",":","the","keyword","arguments","to","the","function","Returns",":","the","_Job","object","."]
code: def start(
      job_settings: _JobSettings,
      func,
      func_args,
      func_kwargs,
      run_info=None,
  ):
      """Start a training job.
  
      Args:
          job_settings (_JobSettings): the job settings.
          func: the function to be executed.
          func_args: the positional arguments to the function.
          func_kwargs: the keyword arguments to the function
  
      Returns:
          the _Job object.
      """
      job_name = _Job._get_job_name(job_settings, func)
      s3_base_uri = s3_path_join(job_settings.s3_root_uri, job_name)
  
      training_job_request = _Job.compile(
          job_settings=job_settings,
          job_name=job_name,
          s3_base_uri=s3_base_uri,
          func=func,
          func_args=func_args,
          func_kwargs=func_kwargs,
          run_info=run_info,
      )
  
      logger.info("Creating job: %s", job_name)
      job_settings.sagemaker_session.sagemaker_client.create_training_job(
          **training_job_request
      )
  
      return _Job(
          job_name,
          s3_base_uri,
          job_settings.sagemaker_session,
          training_job_request["Environment"][
              "REMOTE_FUNCTION_SECRET_KEY"
          ],
      )
  
imports: from __future__ import absolute_import
  import dataclasses
  import os
  import re
  import shutil
  import sys
  import json
  import secrets
  from typing import Callable, Dict, List, Optional, Tuple, Union, TYPE_CHECKING
  from urllib.parse import urlparse
  from io import BytesIO
  from sagemaker.config.config_schema import REMOTE_FUNCTION_ENVIRONMENT_VARIABLES, REMOTE_FUNCTION_IMAGE_URI, REMOTE_FUNCTION_DEPENDENCIES, REMOTE_FUNCTION_PRE_EXECUTION_COMMANDS, REMOTE_FUNCTION_PRE_EXECUTION_SCRIPT, REMOTE_FUNCTION_INCLUDE_LOCAL_WORKDIR, REMOTE_FUNCTION_INSTANCE_TYPE, REMOTE_FUNCTION_JOB_CONDA_ENV, REMOTE_FUNCTION_ROLE_ARN, REMOTE_FUNCTION_S3_ROOT_URI, REMOTE_FUNCTION_S3_KMS_KEY_ID, REMOTE_FUNCTION_VOLUME_KMS_KEY_ID, REMOTE_FUNCTION_TAGS, REMOTE_FUNCTION_VPC_CONFIG_SUBNETS, REMOTE_FUNCTION_VPC_CONFIG_SECURITY_GROUP_IDS, REMOTE_FUNCTION_ENABLE_INTER_CONTAINER_TRAFFIC_ENCRYPTION
  from sagemaker.experiments._run_context import _RunContext
  from sagemaker.experiments.run import Run
  from sagemaker.image_uris import get_base_python_image_uri
  from sagemaker import image_uris
  from sagemaker.remote_function.checkpoint_location import CheckpointLocation
  from sagemaker.session import get_execution_role, _logs_for_job, Session
  from sagemaker.utils import name_from_base, _tmpdir, resolve_value_from_config, format_tags, Tags
  from sagemaker.s3 import s3_path_join, S3Uploader
  from sagemaker import vpc_utils
  from sagemaker.remote_function.core.stored_function import StoredFunction, _SerializedData
  from sagemaker.remote_function.core.pipeline_variables import Context
  from sagemaker.remote_function.runtime_environment.runtime_environment_manager import RuntimeEnvironmentManager, _DependencySettings
  from sagemaker.remote_function import logging_config
  from sagemaker.remote_function.spark_config import SparkConfig
  from sagemaker.spark import defaults
  from sagemaker.remote_function.custom_file_filter import CustomFileFilter, copy_workdir, resolve_custom_file_filter_from_config_file
label_desc: Use image node_id 3 for calling the _Job obj's underlying member method code with example usage: obj.start(job_settings, func, func_args, func_kwargs, run_info) and returns: _Job