Choosing an image

Specific Deep Learning VM images are available to suit your choice of framework and processor. There are currently images supporting TensorFlow, PyTorch, and generic high-performance computing, with versions for both CPU-only and GPU-enabled workflows. To find the image that you want, see the table below.

Deciding on an image family

Deciding on which Deep Learning VM image family to use depends on your needs. The following table lists the most recent versions of image families, organized by framework type. Creating an instance by referencing an image family with latest in the name ensures that you always get the most recent version of that image. If you need a specific framework version, skip to Listing all available versions.

Framework Processor Image family name(s)
Base GPU common-cu110
CPU common-cpu
TensorFlow Enterprise 2.x GPU tf2-ent-latest-gpu
CPU tf2-ent-latest-cpu
TensorFlow Enterprise 1.x GPU tf-ent-latest-gpu
CPU tf-ent-latest-cpu
TensorFlow 2.x GPU tf2-2-2-cu101
CPU tf2-2-2-cpu
TensorFlow 1.x GPU tf-latest-gpu
CPU tf-latest-cpu
PyTorch GPU pytorch-latest-gpu
CPU pytorch-latest-cpu
R CPU r-latest-cpu-experimental
RAPIDS GPU rapids-latest-gpu-experimental
Chainer GPU chainer-latest-gpu-experimental
CPU chainer-latest-cpu-experimental
XGBoost GPU xgboost-latest-gpu-experimental
CPU xgboost-latest-cpu-experimental
MXNet GPU mxnet-latest-gpu-experimental
CPU mxnet-latest-cpu-experimental
CNTK GPU cntk-latest-gpu-experimental
CPU cntk-latest-cpu-experimental
Caffe GPU caffe1-latest-gpu-experimental
CPU caffe1-latest-cpu-experimental

TensorFlow Enterprise images

TensorFlow Enterprise image families provide you with a Google Cloud optimized distribution of TensorFlow with Long Term Version Support. To learn more about TensorFlow Enterprise, read the TensorFlow Enterprise overview.

Use the following table of available TensorFlow images to help you select the image with the version of TensorFlow or TensorFlow Enterprise that you want.

Version of TensorFlow or TensorFlow Enterprise Processor Image family name
TensorFlow Enterprise 2.3 GPU tf2-2-3-cu110
CPU tf2-2-3-cpu
TensorFlow 2.2 GPU tf2-2-2-cu101
CPU tf2-2-2-cpu
TensorFlow Enterprise 2.1 GPU tf2-2-1-cu101
CPU tf2-2-1-cpu
TensorFlow 2.0 GPU tf2-2-0-cu100
CPU tf2-2-0-cpu
TensorFlow Enterprise 1.15 GPU tf-1-15-cu100
CPU tf-1-15-cpu
TensorFlow 1.14 GPU tf-1-14-cu100
CPU tf-1-14-cpu
TensorFlow 1.13 GPU tf-1-13-cu100
CPU tf-1-13-cpu
TensorFlow 1.11 GPU tf-1-11-cu100
CPU tf-1-11-cpu
TensorFlow 1.10 GPU tf-1-10-cu100
CPU tf-1-10-cpu

Experimental images

Some Deep Learning VM image families are experimental. These are denoted by the -experimental suffix. Unlike TensorFlow, PyTorch, and the base images, these are supported on a best-efforts basis, and may not receive refreshes on each new release of the framework.

Specifying an image version

You can reuse the same image even if the latest image is newer. This can be useful, for instance, if you are trying to create a cluster and you want to ensure that any images that are used to create new instances are always the same. You should not use the name of the image family in this situation because, if the latest image is updated, you'll have different images on some instances in your cluster.

Instead, you can determine what the exact name of the image is, incorporate the version number, and then use that specific image to spawn new instances in your cluster.

To find out the exact name of the latest image, use the following command in the gcloud command-line tool with your preferred terminal or in Cloud Shell. Replace image-family with the image family name for which you want to find out the latest version number.

gcloud compute images describe-from-family image-family \
        --project deeplearning-platform-release

Look for the name field in the output and use the image name given there when creating new instances.

Listing all available versions

If you need a specific framework or CUDA version, you can search the complete list of available images. To list all available Deep Learning VM images, use the following gcloud tool command.

gcloud compute images list \
        --project deeplearning-platform-release \

Image families will be in the format FRAMEWORK-VERSION-CUDA_VERSION(-experimental), where FRAMEWORK is the target library, VERSION is the framework version, and CUDA_VERSION is the version of the CUDA stack, if present.

For example, an image from the family tf2-ent-2-3-cu110 has TensorFlow 2.3 and CUDA 11.0, and an image from the family pytorch-1-4-cpu has PyTorch 1.4 and no CUDA stack.

What's next

Create a new Deep Learning VM instance using the Cloud Marketplace or using the command line.