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