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 common-cu101 common-cu100 common-cu92 common-cu91 common-cu90
|
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-4-cu110
|
CPU | tf2-2-4-cpu |
|
TensorFlow 1.x | GPU | tf-latest-gpu |
CPU | tf-latest-cpu |
|
PyTorch | GPU | pytorch-latest-gpu |
CPU | pytorch-latest-cpu | |
PyTorch XLA | TPU/GPU/CPU (experimental) | pytorch-latest-xla |
R | CPU (experimental) | r-latest-cpu-experimental |
RAPIDS | GPU (experimental) | rapids-latest-gpu-experimental |
Chainer | GPU (experimental) | chainer-latest-gpu-experimental |
CPU (experimental) | chainer-latest-cpu-experimental | |
XGBoost | GPU (experimental) | xgboost-latest-gpu-experimental |
CPU (experimental) | xgboost-latest-cpu-experimental | |
MXNet | GPU (experimental) | mxnet-latest-gpu-experimental |
CPU (experimental) | mxnet-latest-cpu-experimental |
|
CNTK | GPU (experimental) | cntk-latest-gpu-experimental |
CPU (experimental) | cntk-latest-cpu-experimental |
|
Caffe | GPU (experimental) | caffe1-latest-gpu-experimental |
CPU (experimental) | caffe1-latest-cpu-experimental |
Choosing an operating system
For most frameworks, Debian 10 is the default OS. Debian 9 and Ubuntu 18.04
images are available for some frameworks. They are denoted by the
-debian-9
and -ubuntu-1804
suffixes in the image family name (see Listing all available
versions). For the following frameworks, Debian 9
is the default and they are not available in Debian 10:
- Chainer
- Rapids
- Caffe with GPU
PyTorch 1.6 Cuda 11 (pytorch-1-6-cu110
and all TensorFlow Enterprise (tf-ent
and tf2-ent
)
image families support A100 GPU accelerators.
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 2.4 | GPU | tf2-2-4-cu110
|
CPU | tf2-2-4-cpu |
|
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-cu110
|
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-cu110
|
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, as indicated by the table of image families. Experimental images are supported on a best-effort 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 \ --no-standard-images
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-7-cpu
has PyTorch 1.7 and no CUDA stack.
What's next
Create a new Deep Learning VM instance using the Cloud Marketplace or using the command line.