19.2. Using Amazon SageMaker
Open the notebook in Colab

Many deep learning applications require a significant amount of computation. Your local machine might be too slow to solve these problems in a reasonable amount of time. Cloud computing services give you access to more powerful computers to run the GPU-intensive portions of this book. This tutorial will guide you through Amazon SageMaker: a service that allows you to run this book easily.

19.2.1. Registering and Logging In

First, we need to register an account at https://aws.amazon.com/. We encourage you to use two-factor authentication for additional security. It is also a good idea to set up detailed billing and spending alerts to avoid any unexpected surprises in case you forget to stop any running instance. Note that you will need a credit card. After logging into your AWS account, search for “SageMaker” (see Fig. 19.2.1) then click to open the SageMaker panel.


Fig. 19.2.1 Open the SageMaker panel.

19.2.2. Creating a SageMaker Instance

Next, let us create a notebook instance as described in Fig. 19.2.2.


Fig. 19.2.2 Create a SageMaker instance.

SageMaker provides multiple instance types of different computational power and prices. When creating an instance, we can specify the instance name and choose its type. In Fig. 19.2.3, we choose ml.p3.2xlarge. With one Tesla V100 GPU and an 8-core CPU, this instance is powerful enough for most chapters.


Fig. 19.2.3 Choose the instance type.

A Jupyter notebook version of this book for fitting SageMaker is available at https://github.com/d2l-ai/d2l-en-sagemaker. We can specify this GitHub repository URL to let SageMaker clone this repository during instance creation, as shown in Fig. 19.2.4.


Fig. 19.2.4 Specify the GitHub repository.

19.2.3. Running and Stopping an Instance

It may take a few minutes before the instance is ready. When it is ready, you can click on the “Open Jupyter” link as shown in Fig. 19.2.5.


Fig. 19.2.5 Open Jupyter on the created SageMaker instance.

Then, as shown in Fig. 19.2.6, you may navigate through the Jupyter server running on this instance.


Fig. 19.2.6 The Jupyter server running on the SageMaker instance.

Running and editing Jupyter notebooks on the SagaMaker instance is similar to what we have discussed in Section 19.1. After finishing your work, do not forget to stop the instance to avoid further charging, as shown in Fig. 19.2.7.


Fig. 19.2.7 Stop a SageMaker instance.

19.2.4. Updating Notebooks

We will regularly update the notebooks in the d2l-ai/d2l-en-sagemaker GitHub repository. You can simply use the git pull command to update to the latest version. First, you need to open a terminal as shown in Fig. 19.2.8.


Fig. 19.2.8 Open a terminal on the SageMaker instance.

You may want to commit your local changes before pulling the updates. Alternatively, you can simply ignore all your local changes with the following commands in the terminal.

cd SageMaker/d2l-en-sagemaker/
git reset --hard
git pull

19.2.5. Summary

  • We can launch and stop a Jupyter server through Amazon SageMaker to run this book.

  • We can update notebooks via the terminal on the Amazon SageMaker instance.

19.2.6. Exercises

  1. Try to edit and run the code in this book using Amazon SageMaker.

  2. Access the SageMaker/d2l-en-sagemaker/ directory via the terminal.

19.2.7. Discussions