Skip to content

Commit 89e38bf

Browse files
authored
Merge branch 'master' into master
2 parents 4544ace + 28124d5 commit 89e38bf

File tree

32 files changed

+54
-44
lines changed

32 files changed

+54
-44
lines changed

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ These examples provide a gentle introduction to machine learning concepts as the
1313
- [Time-series Forecasting](introduction_to_applying_machine_learning/linear_time_series_forecast) generates a forecast for topline product demand using Amazon SageMaker's Linear Learner algorithm.
1414
- [Cancer Prediction](introduction_to_applying_machine_learning/breast_cancer_prediction) predicts Breast Cancer based on features derived from images, using SageMaker's Linear Learner.
1515
- [Ensembling](introduction_to_applying_machine_learning/ensemble_modeling) predicts income using two Amazon SageMaker models to show the advantages in ensembling.
16+
- [Video Game Sales](introduction_to_applying_machine_learning/video_game_sales) develops a binary prediction model for the success of video games based on review scores.
1617

1718
### Introduction to Amazon Algorithms
1819

@@ -65,8 +66,20 @@ These examples focus on the Amazon SageMaker Python SDK which allows you to writ
6566
- [TensorFlow and TensorBoard](sagemaker-python-sdk/tensorflow_resnet_cifar10_with_tensorboard)
6667
- [Distributed TensorFlow](sagemaker-python-sdk/tensorflow_distributed_mnist)
6768

69+
### Under Development
70+
71+
These Amazon SageMaker examples fully illustrate a concept, but may require some additional configuration on the users part to complete.
72+
6873
## FAQ
6974

75+
*What do I need in order to get started?*
76+
77+
- The quickest setup to run example notebooks includes:
78+
- An [AWS account](http://docs.aws.amazon.com/sagemaker/latest/dg/gs-account.html)
79+
- Proper [IAM User and Role](http://docs.aws.amazon.com/sagemaker/latest/dg/authentication-and-access-control.html) setup
80+
- An [Amazon SageMaker Notebook Instance](http://docs.aws.amazon.com/sagemaker/latest/dg/gs-setup-working-env.html)
81+
- An [S3 bucket](http://docs.aws.amazon.com/sagemaker/latest/dg/gs-config-permissions.html)
82+
7083
*Will these examples work outside of Amazon SageMaker Notebook Instances?*
7184

7285
- Although most examples utilize key Amazon SageMaker functionality like distributed, managed training or real-time hosted endpoints, these notebooks can be run outside of Amazon SageMaker Notebook Instances with minimal modification (updating IAM role definition and installing the necessary libraries).

advanced_functionality/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ These examples that showcase unique functionality available in Amazon SageMaker.
1414
- [Bring Your Own R Algorithm](r_bring_your_own) shows how to bring your own algorithm container to Amazon SageMaker using the R language.
1515
- [Bring Your Own scikit Algorithm](scikit_bring_your_own) provides a detailed walkthrough on how to package a scikit learn algorithm for training and production-ready hosting.
1616
- [Bring Your Own MXNet Model](mxnet_mnist_byom) shows how to bring a model trained anywhere using MXNet into Amazon SageMaker
17-
- [Bring Your Own TensorFlow Model](tensorflow_iris_byom) shows how to bring a model trained anywhere using TensorFlow into Amazon SageMaker
17+
- [Bring Your Own TensorFlow Model](tensorflow_iris_byom) shows how to bring a model trained anywhere using TensorFlow into Amazon SageMaker

advanced_functionality/data_distribution_types/data_distribution_types.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@
517517
"sharded_endpoint_config_response = sm.create_endpoint_config(\n",
518518
" EndpointConfigName=sharded_endpoint_config,\n",
519519
" ProductionVariants=[{\n",
520-
" 'InstanceType': 'ml.c4.2xlarge',\n",
520+
" 'InstanceType': 'ml.m4.xlarge',\n",
521521
" 'InitialInstanceCount': 1,\n",
522522
" 'ModelName': sharded_job,\n",
523523
" 'VariantName': 'AllTraffic'}])\n",
@@ -536,7 +536,7 @@
536536
"replicated_endpoint_config_response = sm.create_endpoint_config(\n",
537537
" EndpointConfigName=replicated_endpoint_config,\n",
538538
" ProductionVariants=[{\n",
539-
" 'InstanceType': 'ml.c4.2xlarge',\n",
539+
" 'InstanceType': 'ml.m4.xlarge',\n",
540540
" 'InitialInstanceCount': 1,\n",
541541
" 'ModelName': replicated_job,\n",
542542
" 'VariantName': 'AllTraffic'}])\n",

advanced_functionality/kmeans_bring_your_own_model/kmeans_bring_your_own_model.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236
"create_endpoint_config_response = sm.create_endpoint_config(\n",
237237
" EndpointConfigName=kmeans_endpoint_config,\n",
238238
" ProductionVariants=[{\n",
239-
" 'InstanceType': 'ml.c4.xlarge',\n",
239+
" 'InstanceType': 'ml.m4.xlarge',\n",
240240
" 'InitialInstanceCount': 1,\n",
241241
" 'ModelName': kmeans_model,\n",
242242
" 'VariantName': 'AllTraffic'}])\n",

advanced_functionality/scikit_bring_your_own/scikit_bring_your_own.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@
433433
"outputs": [],
434434
"source": [
435435
"from sagemaker.predictor import csv_serializer\n",
436-
"predictor = tree.deploy(1, 'ml.c4.xlarge', serializer=csv_serializer)"
436+
"predictor = tree.deploy(1, 'ml.m4.xlarge', serializer=csv_serializer)"
437437
]
438438
},
439439
{

advanced_functionality/tensorflow_iris_byom/tensorflow_BYOM_iris.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@
243243
"source": [
244244
"### Create endpoint\n",
245245
"\n",
246-
"Now the model is ready to be deployed at a SageMaker endpoint. We can use the ``sagemaker.tensotflow.model.TensorFlowModel.deploy`` method to do this. Unless you have created or prefer other instances, we recommend using 1 ``'ml.m4.xlarge'`` instance for this example. These are supplied as arguments. "
246+
"Now the model is ready to be deployed at a SageMaker endpoint. We can use the ``sagemaker.tensorflow.model.TensorFlowModel.deploy`` method to do this. Unless you have created or prefer other instances, we recommend using 1 ``'ml.m4.xlarge'`` instance for this example. These are supplied as arguments. "
247247
]
248248
},
249249
{

introduction_to_amazon_algorithms/factorization_machines_mnist/factorization_machines_mnist.ipynb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,7 @@
232232
"- `feature_dim` is set to 784, which is the number of pixels in each 28 x 28 image.\n",
233233
"- `predictor_type` is set to 'binary_classifier' since we are trying to predict whether the image is or is not a 0.\n",
234234
"- `mini_batch_size` is set to 200. This value can be tuned for relatively minor improvements in fit and speed, but selecting a reasonable value relative to the dataset is appropriate in most cases.\n",
235-
"- `num_factors` is set to 10. As mentioned initially, factorization machines find a lower dimensional representation of the interactions for all features. Making this value smaller provides a more parsimonious model, closer to a linear model, but may sacrifice information about interactions. Making it larger provides a higher-dimensional representation of feature interactions, but adds computational complexity and can lead to overfitting. In a practical application, time should be invested to tune this parameter to the appropriate value.\n",
236-
"- `_sparse_input` is set to 'false'. As mentioned previously, factorization machines are frequently used with sparse data, which is therefore what the algorithm expects. Setting this to false forces the algorithm to handle the dense recordIO-wrapped protobuf that we created above."
235+
"- `num_factors` is set to 10. As mentioned initially, factorization machines find a lower dimensional representation of the interactions for all features. Making this value smaller provides a more parsimonious model, closer to a linear model, but may sacrifice information about interactions. Making it larger provides a higher-dimensional representation of feature interactions, but adds computational complexity and can lead to overfitting. In a practical application, time should be invested to tune this parameter to the appropriate value."
237236
]
238237
},
239238
{
@@ -256,8 +255,7 @@
256255
"fm.set_hyperparameters(feature_dim=784,\n",
257256
" predictor_type='binary_classifier',\n",
258257
" mini_batch_size=200,\n",
259-
" num_factors=10,\n",
260-
" _sparse_input='false')\n",
258+
" num_factors=10)\n",
261259
"\n",
262260
"fm.fit({'train': s3_train_data})"
263261
]
@@ -279,7 +277,7 @@
279277
"outputs": [],
280278
"source": [
281279
"fm_predictor = fm.deploy(initial_instance_count=1,\n",
282-
" instance_type='ml.c4.xlarge')"
280+
" instance_type='ml.m4.xlarge')"
283281
]
284282
},
285283
{

introduction_to_amazon_algorithms/imageclassification_caltech/Image-classification-fulltraining.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@
393393
"endpoint_config_response = sage.create_endpoint_config(\n",
394394
" EndpointConfigName = endpoint_config_name,\n",
395395
" ProductionVariants=[{\n",
396-
" 'InstanceType':'ml.p2.xlarge',\n",
396+
" 'InstanceType':'ml.m4.xlarge',\n",
397397
" 'InitialInstanceCount':1,\n",
398398
" 'ModelName':model_name,\n",
399399
" 'VariantName':'AllTraffic'}])\n",

introduction_to_amazon_algorithms/imageclassification_caltech/Image-classification-transfer-learning.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@
409409
"endpoint_config_response = sage.create_endpoint_config(\n",
410410
" EndpointConfigName = endpoint_config_name,\n",
411411
" ProductionVariants=[{\n",
412-
" 'InstanceType':'ml.p2.xlarge',\n",
412+
" 'InstanceType':'ml.m4.xlarge',\n",
413413
" 'InitialInstanceCount':1,\n",
414414
" 'ModelName':model_name,\n",
415415
" 'VariantName':'AllTraffic'}])\n",

introduction_to_amazon_algorithms/lda_topic_modeling/LDA-Introduction.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@
396396
"source": [
397397
"lda_inference = lda.deploy(\n",
398398
" initial_instance_count=1,\n",
399-
" instance_type='ml.c4.xlarge', # LDA inference works best on ml.c4 instances\n",
399+
" instance_type='ml.m4.xlarge', # LDA inference may work better at scale on ml.c4 instances\n",
400400
")"
401401
]
402402
},

introduction_to_amazon_algorithms/linear_learner_mnist/linear_learner_mnist.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@
273273
"outputs": [],
274274
"source": [
275275
"linear_predictor = linear.deploy(initial_instance_count=1,\n",
276-
" instance_type='ml.c4.xlarge')"
276+
" instance_type='ml.m4.xlarge')"
277277
]
278278
},
279279
{

introduction_to_amazon_algorithms/ntm_synthetic/ntm_synthetic.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@
293293
"outputs": [],
294294
"source": [
295295
"ntm_predictor = ntm.deploy(initial_instance_count=1,\n",
296-
" instance_type='ml.c4.xlarge')"
296+
" instance_type='ml.m4.xlarge')"
297297
]
298298
},
299299
{

introduction_to_amazon_algorithms/pca_mnist/pca_mnist.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,7 @@
279279
"outputs": [],
280280
"source": [
281281
"pca_predictor = pca.deploy(initial_instance_count=1,\n",
282-
" instance_type='ml.c4.xlarge')"
282+
" instance_type='ml.m4.xlarge')"
283283
]
284284
},
285285
{

introduction_to_amazon_algorithms/seq2seq_translation_en-de/SageMaker-Seq2Seq-Translation-English-German.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@
461461
"### Create endpoint configuration\n",
462462
"Use the model to create an endpoint configuration. The endpoint configuration also contains information about the type and number of EC2 instances to use when hosting the model.\n",
463463
"\n",
464-
"Since SageMaker Seq2Seq is based on Neural Nets, we will use an ml.p2.xlarge (GPU) instance in this example."
464+
"Since SageMaker Seq2Seq is based on Neural Nets, we could use an ml.p2.xlarge (GPU) instance, but for this example we will use a free tier eligible ml.m4.xlarge."
465465
]
466466
},
467467
{
@@ -477,7 +477,7 @@
477477
"create_endpoint_config_response = sage.create_endpoint_config(\n",
478478
" EndpointConfigName = endpoint_config_name,\n",
479479
" ProductionVariants=[{\n",
480-
" 'InstanceType':'ml.p2.xlarge',\n",
480+
" 'InstanceType':'ml.m4.xlarge',\n",
481481
" 'InitialInstanceCount':1,\n",
482482
" 'ModelName':model_name,\n",
483483
" 'VariantName':'AllTraffic'}])\n",

introduction_to_amazon_algorithms/xgboost_mnist/xgboost_mnist.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,7 @@
464464
"create_endpoint_config_response = sm.create_endpoint_config(\n",
465465
" EndpointConfigName = endpoint_config_name,\n",
466466
" ProductionVariants=[{\n",
467-
" 'InstanceType':'ml.c4.xlarge',\n",
467+
" 'InstanceType':'ml.m4.xlarge',\n",
468468
" 'InitialVariantWeight':1,\n",
469469
" 'InitialInstanceCount':1,\n",
470470
" 'ModelName':model_name,\n",

introduction_to_applying_machine_learning/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ These examples provide a gentle introduction to machine learning concepts as the
99
- [Time-series Forecasting](linear_time_series_forecast) generates a forecast for topline product demand using Amazon SageMaker's Linear Learner algorithm.
1010
- [Cancer Prediction](breast_cancer_prediction) predicts Breast Cancer based on features derived from images, using SageMaker's Linear Learner.
1111
- [Ensembling](ensemble_modeling) predicts income using two Amazon SageMaker models to show the advantages in ensembling.
12+
- [Video Game Sales](video_game_sales) develops a binary prediction model for the success of video games based on review scores.

introduction_to_applying_machine_learning/breast_cancer_prediction/Breast Cancer Prediction.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,7 +472,7 @@
472472
"create_endpoint_config_response = sm.create_endpoint_config(\n",
473473
" EndpointConfigName=linear_endpoint_config,\n",
474474
" ProductionVariants=[{\n",
475-
" 'InstanceType': 'ml.c4.2xlarge',\n",
475+
" 'InstanceType': 'ml.m4.xlarge',\n",
476476
" 'InitialInstanceCount': 1,\n",
477477
" 'ModelName': linear_job,\n",
478478
" 'VariantName': 'AllTraffic'}])\n",
@@ -536,7 +536,7 @@
536536
"- Total Classification Accuracy \n",
537537
"- Mean Absolute Error\n",
538538
"\n",
539-
"For our example, we'll keep things simple and use total clssification accuracy as our metric of choice. We will also evalute Mean Absolute Error (MAE) as the linear-learner has been optimized using this metric, not necessarily because it is a relevant metric from an application point of view. We'll compare the performance of the linear-learner against a naive benchmark prediction which uses majority class observed in the training data set for prediction on the test data.\n",
539+
"For our example, we'll keep things simple and use total classification accuracy as our metric of choice. We will also evaluate Mean Absolute Error (MAE) as the linear-learner has been optimized using this metric, not necessarily because it is a relevant metric from an application point of view. We'll compare the performance of the linear-learner against a naive benchmark prediction which uses majority class observed in the training data set for prediction on the test data.\n",
540540
"\n",
541541
"\n"
542542
]

introduction_to_applying_machine_learning/ensemble_modeling/EnsembleLearnerCensusIncome.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,7 @@
942942
"create_endpoint_config_response = sm.create_endpoint_config(\n",
943943
" EndpointConfigName=linear_endpoint_config,\n",
944944
" ProductionVariants=[{\n",
945-
" 'InstanceType': 'ml.c4.2xlarge',\n",
945+
" 'InstanceType': 'ml.m4.xlarge',\n",
946946
" 'InitialInstanceCount': 1,\n",
947947
" 'ModelName': linear_job,\n",
948948
" 'VariantName': 'AllTraffic'}])\n",

introduction_to_applying_machine_learning/linear_time_series_forecast/linear_time_series_forecast.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
"\n",
3232
"Forecasting is potentially the most broadly relevant machine learning topic there is. Whether predicting future sales in retail, housing prices in real estate, traffic in cities, or patient visits in healthcare, almost every industry could benefit from improvements in their forecasts. There are numerous statistical methodologies that have been developed to forecast time-series data, but still, the process for developing forecasts tends to be a mix of objective statistics and subjective interpretations.\n",
3333
"\n",
34-
"Properly modeling time-series data takes a great deal of care. What's the right level of aggregation to model at? Too granular and the signal gets lost in the noise, too aggregate and importent variation is missed. Also, what is the right cyclicality? Daily, weekly, monthly? Are there holiday peaks? How should we weight recent versus overall trends?\n",
34+
"Properly modeling time-series data takes a great deal of care. What's the right level of aggregation to model at? Too granular and the signal gets lost in the noise, too aggregate and important variation is missed. Also, what is the right cyclicality? Daily, weekly, monthly? Are there holiday peaks? How should we weight recent versus overall trends?\n",
3535
"\n",
3636
"Linear regression with appropriate controls for trend, seasonality, and recent behavior, remains a common method for forecasting stable time-series with reasonable volatility. This notebook will build a linear model to forecast weekly output for US gasoline products starting in 1991 to 2005. It will focus almost exclusively on the application. For a more in-depth treatment on forecasting in general, see [Forecasting: Principles & Practice](https://robjhyndman.com/uwafiles/fpp-notes.pdf).\n",
3737
"\n",
@@ -374,7 +374,7 @@
374374
"outputs": [],
375375
"source": [
376376
"linear_predictor = linear.deploy(initial_instance_count=1,\n",
377-
" instance_type='ml.c4.xlarge')"
377+
" instance_type='ml.m4.xlarge')"
378378
]
379379
},
380380
{

introduction_to_applying_machine_learning/xgboost_customer_churn/xgboost_customer_churn.ipynb

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@
243243
"cell_type": "markdown",
244244
"metadata": {},
245245
"source": [
246-
"We see several features that essentially have 100% correlation with one another. Including these feature pairs in some machine learning algorithms can create catastrophic problems, while in others it will only introduce minor redundancy and bias. Let's remove them anyway."
246+
"We see several features that essentially have 100% correlation with one another. Including these feature pairs in some machine learning algorithms can create catastrophic problems, while in others it will only introduce minor redundancy and bias. Let's remove one feature from each of the highly correlated pairs: Day Charge from the pair with Day Mins, Night Charge from the pair with Night Mins, Intl Charge from the pair with Intl Mins:"
247247
]
248248
},
249249
{
@@ -397,7 +397,6 @@
397397
" subsample=0.8,\n",
398398
" silent=0,\n",
399399
" objective='binary:logistic',\n",
400-
" num_class=1, \n",
401400
" num_round=100)\n",
402401
"\n",
403402
"xgb.fit({'train': s3_input_train, 'validation': s3_input_validation}) "
@@ -420,7 +419,7 @@
420419
"outputs": [],
421420
"source": [
422421
"xgb_predictor = xgb.deploy(initial_instance_count=1,\n",
423-
" instance_type='ml.c4.xlarge')"
422+
" instance_type='ml.m4.xlarge')"
424423
]
425424
},
426425
{

introduction_to_applying_machine_learning/xgboost_direct_marketing/xgboost_direct_marketing_sagemaker.ipynb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,6 @@
460460
" subsample=0.8,\n",
461461
" silent=0,\n",
462462
" objective='binary:logistic',\n",
463-
" num_class=1, \n",
464463
" num_round=100)\n",
465464
"\n",
466465
"xgb.fit({'train': s3_input_train, 'validation': s3_input_validation}) "
@@ -483,7 +482,7 @@
483482
"outputs": [],
484483
"source": [
485484
"xgb_predictor = xgb.deploy(initial_instance_count=1,\n",
486-
" instance_type='ml.c4.xlarge')"
485+
" instance_type='ml.m4.xlarge')"
487486
]
488487
},
489488
{

sagemaker-python-sdk/1P_kmeans_highlevel/kmeans_mnist.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@
176176
"%%time\n",
177177
"\n",
178178
"kmeans_predictor = kmeans.deploy(initial_instance_count=1,\n",
179-
" instance_type='ml.c4.xlarge')"
179+
" instance_type='ml.m4.xlarge')"
180180
]
181181
},
182182
{

sagemaker-python-sdk/1P_kmeans_lowlevel/kmeans_mnist_lowlevel.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,8 +307,8 @@
307307
"create_endpoint_config_response = sagemaker.create_endpoint_config(\n",
308308
" EndpointConfigName = endpoint_config_name,\n",
309309
" ProductionVariants=[{\n",
310-
" 'InstanceType':'ml.c4.xlarge',\n",
311-
" 'InitialInstanceCount':3,\n",
310+
" 'InstanceType':'ml.m4.xlarge',\n",
311+
" 'InitialInstanceCount':1,\n",
312312
" 'ModelName':model_name,\n",
313313
" 'VariantName':'AllTraffic'}])\n",
314314
"\n",

sagemaker-python-sdk/mxnet_gluon_cifar10/cifar10.ipynb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@
141141
"source": [
142142
"## Prediction\n",
143143
"\n",
144-
"After training, we use the MXNet estimator object to create and deploy a hosted prediction endpoint. We can use a CPU-based instance for inference (in this case an `ml.c4.xlarge`), even though we trained on GPU instances.\n",
144+
"After training, we use the MXNet estimator object to create and deploy a hosted prediction endpoint. We can use a CPU-based instance for inference (in this case an `ml.m4.xlarge`), even though we trained on GPU instances.\n",
145145
"\n",
146146
"The predictor object returned by `deploy` lets us call the new endpoint and perform inference on our sample images. "
147147
]
@@ -152,7 +152,7 @@
152152
"metadata": {},
153153
"outputs": [],
154154
"source": [
155-
"predictor = m.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge')"
155+
"predictor = m.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')"
156156
]
157157
},
158158
{

sagemaker-python-sdk/mxnet_gluon_mnist/mnist_with_gluon.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
},
145145
"outputs": [],
146146
"source": [
147-
"predictor = m.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge')"
147+
"predictor = m.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')"
148148
]
149149
},
150150
{

0 commit comments

Comments
 (0)