This page provides a brief overview of
[Deep Learning VM Images](https://docs.cloud.google.com/deep-learning-vm/docs.md.txt)
and describes how to get started using TensorFlow Enterprise with a
Deep Learning VM instance.

In this example, you create a
TensorFlow Enterprise Deep Learning VM instance,
connect to the instance using SSH, open
a JupyterLab notebook, and run a classification tutorial on using
neural networks with Keras.

## Overview of Deep Learning VM

Deep Learning VM Images is a set of
virtual machine images optimized for data science and machine
learning tasks. All images come with key ML frameworks and tools
pre-installed. You can use them out of the box on instances with
GPUs to accelerate your data processing tasks.

Deep Learning VM images are available to support many combinations
of framework and processor. There are currently images supporting
[TensorFlow Enterprise](https://docs.cloud.google.com/tensorflow-enterprise/docs.md.txt),
TensorFlow, PyTorch, and generic high-performance computing,
with versions for both CPU-only and GPU-enabled workflows.

To see a list of frameworks available, see [Choosing an
image](https://docs.cloud.google.com/deep-learning-vm/docs/images).

## Before you begin

## Create a Deep Learning VM instance

To create a TensorFlow Enterprise Deep Learning VM instance,
complete these steps:

1. Go to the Deep Learning VM Cloud Marketplace
   page in the Google Cloud console.

   [Go to the Deep Learning VM Cloud Marketplace
   page](https://console.cloud.google.com/marketplace/details/click-to-deploy-images/deeplearning)
2. Click **Launch on Compute Engine**. If you see a project selection window,
   choose the project in which to create the instance. If this is the first
   time you've launched Compute Engine, you must wait for the initial API
   configuration process to complete.

3. On the **New Deep Learning VM deployment** page, enter a
   **Deployment name** . This will be the root of your virtual machine name.
   Compute Engine appends `-vm` to this name when creating your instance.

4. Under **Number of GPUs** , select **None**. You won't need them
   to complete the instructions in this guide.

   > [!NOTE]
   > **Note:** If you plan to use GPUs with your TensorFlow Enterprise instance, [check the quotas page](https://console.cloud.google.com/quotas) to ensure that you have enough GPUs available in your project. If GPUs are not listed on the quotas page, or you require additional GPU quota, you can request a quota increase. See [Requesting additional
   > quota](https://docs.cloud.google.com/compute/quotas#requesting_additional_quota) on the Compute Engine [Resource Quotas](https://docs.cloud.google.com/compute/quotas) page.

5. Under **Framework** , select **TensorFlow Enterprise 2.3 (CUDA 11.0)**.

6. For this example, you can leave the remaining settings as they are.

7. Click **Deploy**.

You've just created your first instance of a Deep Learning VM.
After the instance is created, the [Deployment
Manager](https://console.cloud.google.com/dm/deployments) opens. This is where you can
manage your Deep Learning VM instance and other deployments.

## Connect with SSH, open a notebook, and run a classification tutorial

Complete these steps to set up an SSH connection to your
Deep Learning VM instance, open a JupyterLab notebook,
and run a tutorial on using neural networks with Keras:

1. To complete these steps, you can use either
   [Cloud Shell](https://console.cloud.google.com/?cloudshell=true) or any
   environment where the [Google Cloud CLI](https://docs.cloud.google.com/sdk/docs.md.txt) can be installed.
   You can use the gcloud CLI to interface with your instance.

   - If you want to use Cloud Shell, in Google Cloud,
     in the upper-right corner, click the **Activate Cloud Shell**
     button.

     ![Google Cloud Platform console](https://docs.cloud.google.com/static/shell/docs/images/shell_icon.png)
   - If you want to use gcloud CLI, [download and
     install Google Cloud CLI](https://docs.cloud.google.com/sdk/docs) on your local machine.

2. In [Cloud Shell](https://console.cloud.google.com/?cloudshell=true)
   or in a local terminal window, use the following command to
   create an SSH connection to your instance.
   Replace <var translate="no">my-project-id</var>, <var translate="no">my-zone</var>,
   and <var translate="no">my-instance-name</var> with the relevant information.

   ```bash
   gcloud compute ssh --project my-project-id --zone my-zone \
     my-instance-name -- -L 8080:localhost:8080
   ```

   > [!NOTE]
   > **Note:** To find your project ID, click the project name at the top of the Google Cloud console. To find your zone, click your instance in the [Deployment
   > Manager](https://console.cloud.google.com/dm/deployments).

3. In your local browser, visit http://localhost:8080 to access a
   JupyterLab notebook that is included in your instance by default.

4. In the notebook, on the left, double-click **tutorials** to
   open the folder, and navigate to and open
   **tutorials/tf2_course/01_neural_nets_with_keras.ipynb**.

5. Click the run button
   to
   run cells of the tutorial.

## What's next

- Learn more about [Deep Learning VM](https://docs.cloud.google.com/deep-learning-vm/docs.md.txt).
- [Learn more about the Deep Learning VM
  community](https://docs.cloud.google.com/deep-learning-vm/docs/getting-support#get_support_from_the_community), where you can discuss and ask questions about Deep Learning VM.
- Get started [using TensorFlow Enterprise with
  Deep Learning Containers](https://docs.cloud.google.com/tensorflow-enterprise/docs/use-with-deep-learning-containers).