class_docstr: Handle end-to-end training and deployment of XGBoost booster training.
  
  It can also handle training using customer provided XGBoost entry point script.
class_docstr_tok: ["Handle","end-to-end","training","and","deployment","of","XGBoost","booster","training",".","It","can","also","handle","training","using","customer","provided","XGBoost","entry","point","script","."]
docstr: Convert the job description to init params that can be handled by the class constructor
  
  Args:
      job_details: the returned job details from a describe_training_job API call.
  
  Returns:
       dictionary: The transformed init_params
docstr_tok: ["Convert","the","job","description","to","init","params","that","can","be","handled","by","the","class","constructor","Args",":","job_details",":","the","returned","job","details","from","a","describe_training_job","API","call",".","Returns",":","dictionary",":","The","transformed","init_params"]
code: def _prepare_init_params_from_job_description(
      cls, job_details, model_channel_name=None
  ):
      """Convert the job description to init params that can be handled by the class constructor
  
      Args:
          job_details: the returned job details from a describe_training_job API call.
  
      Returns:
           dictionary: The transformed init_params
  
      """
      init_params = super(
          XGBoost, cls
      )._prepare_init_params_from_job_description(job_details)
  
      image_uri = init_params.pop("image_uri")
      framework, py_version, tag, _ = framework_name_from_image(
          image_uri
      )
      init_params["py_version"] = py_version
  
      if framework and framework != cls._framework_name:
          raise ValueError(
              "Training job: {} didn't use image for requested framework".format(
                  job_details["TrainingJobName"]
              )
          )
      init_params["framework_version"] = framework_version_from_tag(tag)
  
      if not framework:
          # If we were unable to parse the framework name from the image it is not one of our
          # officially supported images, in this case just add the image to the init params.
          init_params["image_uri"] = image_uri
      return init_params
  
file_path: sagemaker-python-sdk/src/sagemaker/xgboost/estimator.py
imports: from __future__ import absolute_import
  import logging
  from typing import Union, Optional, Dict
  from sagemaker import image_uris
  from sagemaker.deprecations import renamed_kwargs
  from sagemaker.estimator import Framework, _TrainingJob
  from sagemaker.fw_utils import framework_name_from_image, framework_version_from_tag, UploadedCode
  from sagemaker.session import Session
  from sagemaker.vpc_utils import VPC_CONFIG_DEFAULT
  from sagemaker.workflow.entities import PipelineVariable
  from sagemaker.xgboost import defaults
  from sagemaker.xgboost.model import XGBoostModel
  from sagemaker.xgboost.utils import validate_py_version, validate_framework_version
label_desc: Use image node_id 4 for calling the XGBoost obj's underlying member method code with example usage: obj._prepare_init_params_from_job_description(cls, job_details, model_channel_name) and returns: init_params