class_docstr: Base class for Amazon first-party Estimator implementations.
  
  This class isn't intended to be instantiated directly.
class_docstr_tok: ["Base","class","for","Amazon","first-party","Estimator","implementations",".","This","class","is","n't","intended","to","be","instantiated","directly","."]
docstr: Initialize an AmazonAlgorithmEstimatorBase.
  
  Args:
      role (str): An AWS IAM role (either name or full ARN). The Amazon
          SageMaker training jobs and APIs that create Amazon SageMaker
          endpoints use this role to access training data and model
          artifacts. After the endpoint is created, the inference code
          might use the IAM role, if it needs to access an AWS resource.
      instance_count (int or PipelineVariable): Number of Amazon EC2 instances to use
          for training. Required.
      instance_type (str or PipelineVariable): Type of EC2 instance to use for training,
          for example, 'ml.c4.xlarge'. Required.
      data_location (str or None): The s3 prefix to upload RecordSet
          objects to, expressed as an S3 url. For example
          "s3://example-bucket/some-key-prefix/". Objects will be saved in
          a unique sub-directory of the specified location. If None, a
          default data location will be used.
      enable_network_isolation (bool or PipelineVariable): Specifies whether container will
          run in network isolation mode. Network isolation mode restricts
          the container access to outside networks (such as the internet).
          Also known as internet-free mode (default: ``False``).
      **kwargs: Additional parameters passed to
          :class:`~sagemaker.estimator.EstimatorBase`.
  
  .. tip::
  
      You can find additional parameters for initializing this class at
      :class:`~sagemaker.estimator.EstimatorBase`.
code: def __init__(
      self,
      role: Optional[Union[str, PipelineVariable]] = None,
      instance_count: Optional[Union[int, PipelineVariable]] = None,
      instance_type: Optional[Union[str, PipelineVariable]] = None,
      data_location: Optional[str] = None,
      enable_network_isolation: Union[bool, PipelineVariable] = False,
      **kwargs,
  ):
      """Initialize an AmazonAlgorithmEstimatorBase.
  
      Args:
          role (str): An AWS IAM role (either name or full ARN). The Amazon
              SageMaker training jobs and APIs that create Amazon SageMaker
              endpoints use this role to access training data and model
              artifacts. After the endpoint is created, the inference code
              might use the IAM role, if it needs to access an AWS resource.
          instance_count (int or PipelineVariable): Number of Amazon EC2 instances to use
              for training. Required.
          instance_type (str or PipelineVariable): Type of EC2 instance to use for training,
              for example, 'ml.c4.xlarge'. Required.
          data_location (str or None): The s3 prefix to upload RecordSet
              objects to, expressed as an S3 url. For example
              "s3://example-bucket/some-key-prefix/". Objects will be saved in
              a unique sub-directory of the specified location. If None, a
              default data location will be used.
          enable_network_isolation (bool or PipelineVariable): Specifies whether container will
              run in network isolation mode. Network isolation mode restricts
              the container access to outside networks (such as the internet).
              Also known as internet-free mode (default: ``False``).
          **kwargs: Additional parameters passed to
              :class:`~sagemaker.estimator.EstimatorBase`.
  
      .. tip::
  
          You can find additional parameters for initializing this class at
          :class:`~sagemaker.estimator.EstimatorBase`.
      """
      super(AmazonAlgorithmEstimatorBase, self).__init__(
          role,
          instance_count,
          instance_type,
          enable_network_isolation=enable_network_isolation,
          **kwargs,
      )
  
      data_location = data_location or (
          s3_utils.s3_path_join(
              "s3://",
              self.sagemaker_session.default_bucket(),
              self.sagemaker_session.default_bucket_prefix,
              "sagemaker-record-sets",
              with_end_slash=True,
          )
      )
      self._data_location = data_location
  
imports: from __future__ import absolute_import
  import json
  import logging
  import tempfile
  from typing import Union, Optional, Dict
  from six.moves.urllib.parse import urlparse
  from sagemaker import image_uris, s3_utils
  from sagemaker.amazon import validation
  from sagemaker.amazon.hyperparameter import Hyperparameter
  from sagemaker.amazon.common import write_numpy_to_dense_tensor
  from sagemaker.deprecations import renamed_warning
  from sagemaker.estimator import EstimatorBase, _TrainingJob
  from sagemaker.inputs import FileSystemInput, TrainingInput
  from sagemaker.utils import sagemaker_timestamp, check_and_get_run_experiment_config
  from sagemaker.workflow.entities import PipelineVariable
  from sagemaker.workflow.pipeline_context import runnable_by_pipeline
  from sagemaker.workflow import is_pipeline_variable
label_desc: Use image node_id 1 to create a new AmazonAlgorithmEstimatorBase object from inherited base classes: EstimatorBase with example: obj = AmazonAlgorithmEstimatorBase(role, instance_count, instance_type, data_location, enable_network_isolation)