Last modified on 01 Oct 2021.

Installation

  • Verify that your computer has a graphic card (NVIDIA): lspci -nn | grep '\[03'
  • Check the CUDA version on Ubuntu: nvidia-smi. If have problems, check this note.
  • Install the lates version: here.

Errors

Problem with CUDA version

For example, need to install corresponding versions: torch==1.2.0torchvision==0.4.0Pillow<7.0.0

pip3 install -U torch==1.2.0
pip3 install -U torchvision==0.4.0
pip3 install -U "pillow<7"

Another option (worked on XPS 15 7950): torch==1.5.1, torchvision==0.6.1, pillow==7.2.0 (with nvcc --version is 11.1).

NVIDIA too old

Problem The NVIDIA driver on your system is too old (found version 10010).

From this website, problem is solved by

  1. Switching from nvidia-driver-435 to nvidia-driver-440.
  2. Restart the computer.

It works on Dell XPS 7950 whose GPU is NVIDIA GTX 1650.

Others

🔅 RuntimeError: cuda runtime error (804) : forward compatibility was attempted on non supported HW at /pytorch/aten/src/THC/THCGeneral.cpp:47 (after update system including nvdia-cli, maybe): check this note.

Import

import torch
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim

Device’s info

print('cuda is available? ', torch.cuda.is_available())
print('device_count: ', torch.cuda.device_count())
print('current device: ', torch.cuda.current_device())
print('device name: ', torch.cuda.get_device_name(0))
# Determine supported device
def get_device():
    if torch.cuda.is_available():
        device = torch.device('cuda:0') # or something else
    else:
        device = torch.device('cpu') # don't have GPU
    return device

Convert DataFrame / Series to Tensor

def df_to_tensor(df):
    device = get_device() # see other section
    return torch.from_numpy(df.values).float().to(device)

Notes with this notation aren't good enough. They are being updated. If you can see this, you are so smart. ;)