Amazon Estimators¶
Base class for Amazon Estimator implementations
-
class
sagemaker.amazon.amazon_estimator.
AmazonAlgorithmEstimatorBase
(role, train_instance_count, train_instance_type, data_location=None, enable_network_isolation=False, **kwargs)¶ Bases:
sagemaker.estimator.EstimatorBase
Base class for Amazon first-party Estimator implementations. This class isn’t intended to be instantiated directly.
Initialize an AmazonAlgorithmEstimatorBase.
Parameters: - 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.
- train_instance_count (int) – Number of Amazon EC2 instances to use for training.
- train_instance_type (str) – Type of EC2 instance to use for training, for example, ‘ml.c4.xlarge’.
- 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) – 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
EstimatorBase
.
Tip
You can find additional parameters for initializing this class at
EstimatorBase
.-
feature_dim
¶ An algorithm hyperparameter with optional validation. Implemented as a python descriptor object.
-
mini_batch_size
¶ An algorithm hyperparameter with optional validation. Implemented as a python descriptor object.
-
repo_name
= None¶
-
repo_version
= None¶
-
train_image
()¶ Placeholder docstring
-
hyperparameters
()¶ Placeholder docstring
-
enable_network_isolation
()¶ If this Estimator can use network isolation when running.
Returns: Whether this Estimator can use network isolation or not. Return type: bool
-
data_location
¶ Placeholder docstring
-
prepare_workflow_for_training
(records=None, mini_batch_size=None, job_name=None)¶ Calls _prepare_for_training. Used when setting up a workflow.
Parameters: - records (
RecordSet
) – The records to train thisEstimator
on. - mini_batch_size (int or None) – The size of each mini-batch to use when
training. If
None
, a default value will be used. - job_name (str) – Name of the training job to be created. If not specified, one is generated, using the base name given to the constructor if applicable.
- records (
-
fit
(records, mini_batch_size=None, wait=True, logs=True, job_name=None, experiment_config=None)¶ Fit this Estimator on serialized Record objects, stored in S3.
records
should be an instance ofRecordSet
. This defines a collection of S3 data files to train thisEstimator
on.Training data is expected to be encoded as dense or sparse vectors in the “values” feature on each Record. If the data is labeled, the label is expected to be encoded as a list of scalas in the “values” feature of the Record label.
More information on the Amazon Record format is available at: https://docs.aws.amazon.com/sagemaker/latest/dg/cdf-training.html
See
record_set()
to construct aRecordSet
object fromndarray
arrays.Parameters: - records (
RecordSet
) – The records to train thisEstimator
on - mini_batch_size (int or None) – The size of each mini-batch to use
when training. If
None
, a default value will be used. - wait (bool) – Whether the call should wait until the job completes (default: True).
- logs (bool) – Whether to show the logs produced by the job. Only meaningful when wait is True (default: True).
- job_name (str) – Training job name. If not specified, the estimator generates a default job name, based on the training image name and current timestamp.
- experiment_config (dict[str, str]) – Experiment management configuration.
Dictionary contains three optional keys, ‘ExperimentName’,
‘TrialName’, and ‘TrialComponentName’
(default:
None
).
- records (
-
record_set
(train, labels=None, channel='train', encrypt=False)¶ Build a
RecordSet
from a numpyndarray
matrix and label vector.For the 2D
ndarray
train
, each row is converted to aRecord
object. The vector is stored in the “values” entry of thefeatures
property of each Record. Iflabels
is not None, each corresponding label is assigned to the “values” entry of thelabels
property of each Record.The collection of
Record
objects are protobuf serialized and uploaded to new S3 locations. A manifest file is generated containing the list of objects created and also stored in S3.The number of S3 objects created is controlled by the
train_instance_count
property on this Estimator. One S3 object is created per training instance.Parameters: - train (numpy.ndarray) – A 2D numpy array of training data.
- labels (numpy.ndarray) – A 1D numpy array of labels. Its length must
be equal to the number of rows in
train
. - channel (str) – The SageMaker TrainingJob channel this RecordSet should be assigned to.
- encrypt (bool) – Specifies whether the objects uploaded to S3 are
encrypted on the server side using AES-256 (default:
False
).
Returns: A RecordSet referencing the encoded, uploading training and label data.
Return type: RecordSet