.. _sec_sagemaker:
Using Amazon SageMaker
======================
Deep learning applications may demand so much computational resource
that easily goes beyond what your local machine can offer. Cloud
computing services allow you to run GPU-intensive code of this book more
easily using more powerful computers. This section will introduce how to
use Amazon SageMaker to run the code of this book.
Signing Up
----------
First, we need to sign up an account at https://aws.amazon.com/. For
additional security, using two-factor authentication is encouraged. It
is also a good idea to set up detailed billing and spending alerts to
avoid any surprise, e.g., when forgetting to stop running instances.
After logging into your AWS account, go to your
`console `__ and search for “Amazon
SageMaker” (see :numref:`fig_sagemaker`), then click it to open the
SageMaker panel.
.. _fig_sagemaker:
.. figure:: ../img/sagemaker.png
:width: 300px
Search for and open the SageMaker panel.
Creating a SageMaker Instance
-----------------------------
Next, let’s create a notebook instance as described in
:numref:`fig_sagemaker-create`.
.. _fig_sagemaker-create:
.. figure:: ../img/sagemaker-create.png
:width: 400px
Create a SageMaker instance.
SageMaker provides multiple `instance
types `__ with
varying computational power and prices. When creating a notebook
instance, we can specify its name and type. In
:numref:`fig_sagemaker-create-2`, we choose ``ml.p3.2xlarge``: with
one Tesla V100 GPU and an 8-core CPU, this instance is powerful enough
for most of the book.
.. _fig_sagemaker-create-2:
.. figure:: ../img/sagemaker-create-2.png
:width: 400px
Choose the instance type.
.. raw:: html
.. raw:: html
The entire book in the ipynb format for running with SageMaker is
available at https://github.com/d2l-ai/d2l-pytorch-sagemaker. We can
specify this GitHub repository URL (:numref:`fig_sagemaker-create-3`)
to allow SageMaker to clone it when creating the instance.
.. raw:: html
.. raw:: html
The entire book in the ipynb format for running with SageMaker is
available at https://github.com/d2l-ai/d2l-en-sagemaker. We can specify
this GitHub repository URL (:numref:`fig_sagemaker-create-3`) to allow
SageMaker to clone it when creating the instance.
.. raw:: html
.. raw:: html
The entire book in the ipynb format for running with SageMaker is
available at https://github.com/d2l-ai/d2l-tensorflow-sagemaker. We can
specify this GitHub repository URL (:numref:`fig_sagemaker-create-3`)
to allow SageMaker to clone it when creating the instance.
.. raw:: html
.. raw:: html
.. _fig_sagemaker-create-3:
.. figure:: ../img/sagemaker-create-3.png
:width: 400px
Specify the GitHub repository.
Running and Stopping an Instance
--------------------------------
Creating an instance may take a few minutes. When it is ready, click on
the “Open Jupyter” link next to it (:numref:`fig_sagemaker-open`) so
you can edit and run all the Jupyter notebooks of this book on this
instance (similar to steps in :numref:`sec_jupyter`).
.. _fig_sagemaker-open:
.. figure:: ../img/sagemaker-open.png
:width: 400px
Open Jupyter on the created SageMaker instance.
After finishing your work, do not forget to stop the instance to avoid
being charged further (:numref:`fig_sagemaker-stop`).
.. _fig_sagemaker-stop:
.. figure:: ../img/sagemaker-stop.png
:width: 300px
Stop a SageMaker instance.
Updating Notebooks
------------------
.. raw:: html
.. raw:: html
Notebooks of this open-source book will be regularly updated in the
`d2l-ai/d2l-pytorch-sagemaker `__
repository on GitHub. To update to the latest version, you may open a
terminal on the SageMaker instance (:numref:`fig_sagemaker-terminal`).
.. raw:: html
.. raw:: html
Notebooks of this open-source book will be regularly updated in the
`d2l-ai/d2l-en-sagemaker `__
repository on GitHub. To update to the latest version, you may open a
terminal on the SageMaker instance (:numref:`fig_sagemaker-terminal`).
.. raw:: html
.. raw:: html
Notebooks of this open-source book will be regularly updated in the
`d2l-ai/d2l-tensorflow-sagemaker `__
repository on GitHub. To update to the latest version, you may open a
terminal on the SageMaker instance (:numref:`fig_sagemaker-terminal`).
.. raw:: html
.. raw:: html
.. _fig_sagemaker-terminal:
.. figure:: ../img/sagemaker-terminal.png
:width: 300px
Open a terminal on the SageMaker instance.
You may wish to commit your local changes before pulling updates from
the remote repository. Otherwise, simply discard all your local changes
with the following commands in the terminal:
.. raw:: html
.. raw:: html
.. raw:: latex
\diilbookstyleinputcell
.. code:: bash
cd SageMaker/d2l-pytorch-sagemaker/
git reset --hard
git pull
.. raw:: html
.. raw:: html
.. raw:: latex
\diilbookstyleinputcell
.. code:: bash
cd SageMaker/d2l-en-sagemaker/
git reset --hard
git pull
.. raw:: html
.. raw:: html
.. raw:: latex
\diilbookstyleinputcell
.. code:: bash
cd SageMaker/d2l-tensorflow-sagemaker/
git reset --hard
git pull
.. raw:: html
.. raw:: html
Summary
-------
- We can create a notebook instance using Amazon SageMaker to run
GPU-intensive code of this book.
- We can update notebooks via the terminal on the Amazon SageMaker
instance.
Exercises
---------
1. Edit and run any section that requires a GPU using Amazon SageMaker.
2. Open a terminal to access the local directory that hosts all the
notebooks of this book.
`Discussions `__