How do I know if my model is training on a GPU?

One question that many people starting in deep learning ask is, how do I know if my model is training on a GPU? Fortunately, whether you are using a cloud instance or your local machine, you can check if the deep learning model is being trained on the GPU or the CPU. There is a utility on the instance that shows the GPU's activity. In Linux, you can type in the following command:

watch -n0.5 nvidia-smi

In Windows, you can use the following command from a command prompt:

nvidia-smi -l 1

This will run a script that outputs diagnostic messages about the GPU on the computer. If your model is currently training on the GPU, the GPU utility will be high. In the following example, we can see that it is 75-78%. We can also see that the file called rsession.exe is using GPU memory. This confirms that the model is being trained on the GPU:

Figure 10.2: nvidia-smi utility showing that the GPU card is at 75-85% utilization