0
0
PyTorchml~20 mins

GPU tensors (to, cuda) in PyTorch - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
GPU Tensor Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
What is the output device of the tensor?
Consider the following PyTorch code snippet. What device will the tensor be on after execution?
PyTorch
import torch
x = torch.tensor([1, 2, 3])
x = x.to('cuda')
print(x.device)
Acpu
Bcuda:0
Ccuda
Dcuda:1
Attempts:
2 left
💡 Hint
The .to('cuda') method moves the tensor to the default GPU device, usually cuda:0.
Predict Output
intermediate
2:00remaining
What happens when moving a tensor to a non-existent GPU?
What error will this PyTorch code raise if the machine has only one GPU (cuda:0)?
PyTorch
import torch
x = torch.tensor([1, 2, 3])
x = x.to('cuda:1')
ARuntimeError: CUDA error: invalid device ordinal
BTypeError: Expected device string
CNo error, tensor moved to cuda:1
DValueError: Device not found
Attempts:
2 left
💡 Hint
Check what happens if you specify a GPU index that does not exist.
Model Choice
advanced
2:00remaining
Which code correctly moves a model and its input tensor to GPU?
You want to run a PyTorch model on GPU. Which option correctly moves both the model and input tensor to the GPU?
A
model = model.cpu()
input = input.cpu()
B
model = model.to('cpu')
input = input.to('cuda')
C
model = model.cuda()
input = input.cuda()
D
model = model.to('cuda')
input = input.to('cpu')
Attempts:
2 left
💡 Hint
Both model and input must be on the same device for computation.
Hyperparameter
advanced
2:00remaining
What is the effect of using .to(device) with a variable device?
Given device = torch.device('cuda' if torch.cuda.is_available() else 'cpu'), what does model.to(device) do?
AMoves model to GPU if available, else CPU
BAlways moves model to CPU
CAlways moves model to GPU
DRaises error if GPU not available
Attempts:
2 left
💡 Hint
The device variable depends on GPU availability.
🔧 Debug
expert
2:00remaining
Why does this code raise a RuntimeError about device mismatch?
Examine the code below and select the reason for the RuntimeError: Expected all tensors to be on the same device.
PyTorch
import torch
model = torch.nn.Linear(2, 2)
input = torch.tensor([[1.0, 2.0]]).to('cuda')
output = model(input)
AInput tensor data type is incorrect
BInput tensor shape is invalid for model
CModel weights are not initialized
DModel is on CPU but input is on GPU, causing device mismatch
Attempts:
2 left
💡 Hint
Check where the model and input tensors are located.