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. For help understanding which set of images is right for your use case, 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 list of image families is organized by framework type. Creating an instance by referencing an image family versus a specific image version ensures that you always get the latest version of that image. If you need a specific framework version, skip to "Listing all available versions".

Framework Processor Image Name(s)
Base GPU common-cu101
common-cu100
common-cu92
common-cu91
common-cu90
CPU common-cpu
TensorFlow GPU tf-latest-gpu
CPU tf-latest-cpu
TensorFlow Enterprise GPU tf-ent-latest-gpu
CPU tf-ent-latest-cpu
TensorFlow 2.0 GPU tf2-latest-gpu
CPU tf2-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 users with a Google Cloud optimized distribution of TensorFlow with long-term version support. To learn more about TensorFlow Enterprise, read the TensorFlow Enterprise overview.

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 gcloud command at the command line, where image-family indicates the image family of 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 will have to search the complete listing of our images. To list all released deep learning images, use the following 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 tf-1-15-cu100 has TensorFlow 1.15 and CUDA 10.0, and an image from the family pytorch-1-3-cpu has PyTorch 1.3 and no CUDA stack.

Pre-installed packages

All images are based on Debian 9 "Stretch", and include:

  • The listed framework (for example, TensorFlow) and supporting packages.
  • CUDA 9.0/9.1/9.2/10.0/10.1 (GPU only; version depends on framework)
  • CuDNN 7.* and NCCL 2.3.* (GPU only; version depends on CUDA)
  • Python (2.7 and 3.5) with the following packages:
    • numpy
    • scipy
    • matplotlib
    • pandas
    • Jupyter notebook/lab
    • nltk
    • Pillow
    • scikit-image
    • Opencv-python
    • sklearn
Was this page helpful? Let us know how we did:

Send feedback about...

Deep Learning VM
Need help? Visit our support page.