@@ -105,7 +105,70 @@ Installation
105
105
106
106
Examples
107
107
--------
108
- See: `sagemaker-experiments <https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-experiments >`_ in `AWS Labs Amazon SageMaker Examples <https://github.com/awslabs/amazon-sagemaker-examples >`_.
108
+
109
+ .. code-block :: python
110
+
111
+ import boto3
112
+ import pickle, gzip, numpy, urllib.request, json
113
+ import io
114
+ import numpy as np
115
+ import sagemaker.amazon.common as smac
116
+ import sagemaker
117
+ from sagemaker import get_execution_role
118
+ from sagemaker import analytics
119
+ from smexperiments import experiment
120
+
121
+ # Specify training container
122
+ from sagemaker.amazon.amazon_estimator import get_image_uri
123
+ container = get_image_uri(boto3.Session().region_name, ' linear-learner' )
124
+
125
+ # Load the dataset
126
+ urllib.request.urlretrieve(" http://deeplearning.net/data/mnist/mnist.pkl.gz" , " mnist.pkl.gz" )
127
+ with gzip.open(' mnist.pkl.gz' , ' rb' ) as f:
128
+ train_set, valid_set, test_set = pickle.load(f, encoding = ' latin1' )
129
+
130
+ vectors = np.array([t.tolist() for t in train_set[0 ]]).astype(' float32' )
131
+ labels = np.where(np.array([t.tolist() for t in train_set[1 ]]) == 0 , 1 , 0 ).astype(' float32' )
132
+
133
+ buf = io.BytesIO()
134
+ smac.write_numpy_to_dense_tensor(buf, vectors, labels)
135
+ buf.seek(0 )
136
+
137
+ key = ' recordio-pb-data'
138
+ bucket = ' {YOUR-BUCKET}'
139
+ prefix = ' sagemaker/DEMO-linear-mnist'
140
+ boto3.resource(' s3' ).Bucket(bucket).Object(os.path.join(prefix, ' train' , key)).upload_fileobj(buf)
141
+ s3_train_data = ' s3://{} /{} /train/{} ' .format(bucket, prefix, key)
142
+ output_location = ' s3://{} /{} /output' .format(bucket, prefix)
143
+
144
+ my_experiment = experiment.Experiment.create(experiment_name = ' MNIST' )
145
+ my_trial = my_experiment.create_trial(trial_name = ' linear-learner' )
146
+
147
+ role = get_execution_role()
148
+ sess = sagemaker.Session()
149
+
150
+ linear = sagemaker.estimator.Estimator(container,
151
+ role,
152
+ train_instance_count = 1 ,
153
+ train_instance_type = ' ml.c4.xlarge' ,
154
+ output_path = output_location,
155
+ sagemaker_session = sess)
156
+ linear.set_hyperparameters(feature_dim = 784 ,
157
+ predictor_type = ' binary_classifier' ,
158
+ mini_batch_size = 200 )
159
+
160
+ linear.fit(inputs = {' train' : s3_train_data}, experiment_config = {
161
+ " ExperimentName" : my_experiment.experiment_name,
162
+ " TrialName" : my_trial.trial_name,
163
+ " TrialComponentDisplayName" : " MNIST-linear-learner" ,
164
+ },)
165
+
166
+ trial_component_analytics = analytics.ExperimentAnalytics(experiment_name = my_experiment.experiment_name)
167
+
168
+ analytic_table = trial_component_analytics.dataframe()
169
+ analytic_table
170
+
171
+ For more examples, check out: `sagemaker-experiments <https://github.com/awslabs/amazon-sagemaker-examples/tree/master/sagemaker-experiments >`_ in `AWS Labs Amazon SageMaker Examples <https://github.com/awslabs/amazon-sagemaker-examples >`_.
109
172
110
173
License
111
174
-------
0 commit comments