Bird
Raised Fist0
PyTorchml~20 mins

Installation and GPU setup in PyTorch - ML Experiment: Train & Evaluate

Choose your learning style10 modes available
Experiment - Installation and GPU setup
Problem:You want to install PyTorch and set up your computer to use the GPU for faster training of machine learning models.
Current Metrics:No model training done yet; GPU is not being used.
Issue:PyTorch is installed but only uses the CPU, resulting in slow training times.
Your Task
Install PyTorch with GPU support and verify that the GPU is being used during training.
Use PyTorch version compatible with CUDA 11.8 or higher.
Do not change the model architecture or dataset.
Only modify installation and setup steps.
Hint 1
Hint 2
Hint 3
Hint 4
Solution
PyTorch
import torch

# Check if GPU is available
if torch.cuda.is_available():
    device = torch.device('cuda')
    print(f'GPU is available: {torch.cuda.get_device_name(0)}')
else:
    device = torch.device('cpu')
    print('GPU not available, using CPU')

# Example: create a tensor and move it to GPU
x = torch.randn(3, 3)
x = x.to(device)
print(f'Tensor device: {x.device}')

# Example model moved to GPU
import torch.nn as nn

model = nn.Linear(3, 1).to(device)
print(f'Model device: {next(model.parameters()).device}')
Installed PyTorch with CUDA support using: pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Added code to check for GPU availability with torch.cuda.is_available()
Moved tensors and model to GPU device using .to('cuda')
Results Interpretation

Before: PyTorch runs on CPU only, training is slow.

After: PyTorch uses GPU, confirmed by device printouts, enabling faster training.

Installing PyTorch with GPU support and moving data and models to the GPU can greatly speed up machine learning training.
Bonus Experiment
Try running a simple training loop on the GPU and measure the time difference compared to CPU.
💡 Hint
Use time.time() before and after training on CPU and GPU to compare durations.

Practice

(1/5)
1. What is the correct command to install PyTorch using pip?
easy
A. pip install torch-gpu-support
B. pip install pytorch-gpu
C. pip install torch-cuda
D. pip install torch torchvision torchaudio

Solution

  1. Step 1: Understand PyTorch installation command

    The official PyTorch installation command is pip install torch torchvision torchaudio.
  2. Step 2: Check other options

    Other options like pytorch-gpu or torch-cuda are not valid package names for PyTorch installation.
  3. Final Answer:

    pip install torch torchvision torchaudio -> Option D
  4. Quick Check:

    Official PyTorch install command = pip install torch torchvision torchaudio [OK]
Hint: Use official PyTorch install command with torch and torchvision [OK]
Common Mistakes:
  • Trying to install non-existing packages like pytorch-gpu
  • Forgetting to include torchvision or torchaudio
  • Using conda command instead of pip
2. Which of the following Python code snippets correctly checks if a GPU is available in PyTorch?
easy
A. torch.gpu.available()
B. torch.cuda.is_available()
C. torch.cuda.check_gpu()
D. torch.device('gpu').is_available()

Solution

  1. Step 1: Recall PyTorch GPU availability function

    PyTorch provides torch.cuda.is_available() to check if a GPU is accessible.
  2. Step 2: Verify other options

    Functions like torch.gpu.available(), torch.cuda.check_gpu(), and torch.device('gpu').is_available() do not exist in PyTorch.
  3. Final Answer:

    torch.cuda.is_available() -> Option B
  4. Quick Check:

    GPU check function = torch.cuda.is_available() [OK]
Hint: Use torch.cuda.is_available() to check GPU presence [OK]
Common Mistakes:
  • Using incorrect function names like torch.gpu.available()
  • Trying to check GPU with torch.device('gpu')
  • Confusing GPU check with device creation
3. What will be the output of the following code if a GPU is available?
import torch
print(torch.cuda.is_available())
medium
A. True
B. False
C. None
D. Error

Solution

  1. Step 1: Understand torch.cuda.is_available() output

    This function returns a boolean: True if a GPU is available, otherwise False.
  2. Step 2: Given GPU is available

    The code prints the result of torch.cuda.is_available(), so it will print True.
  3. Final Answer:

    True -> Option A
  4. Quick Check:

    GPU available? = True [OK]
Hint: If GPU exists, torch.cuda.is_available() returns True [OK]
Common Mistakes:
  • Expecting string output instead of boolean
  • Confusing True/False values
  • Assuming function raises error if no GPU
4. Identify the error in this code snippet for checking GPU availability:
import torch
if torch.cuda.is_available:
    print("GPU is ready")
else:
    print("GPU not found")
medium
A. Missing parentheses after is_available
B. Incorrect import statement
C. Wrong print syntax
D. No error, code is correct

Solution

  1. Step 1: Check function call syntax

    torch.cuda.is_available is a function and must be called with parentheses: torch.cuda.is_available().
  2. Step 2: Verify other parts of code

    Import and print statements are correct. The only error is missing parentheses.
  3. Final Answer:

    Missing parentheses after is_available -> Option A
  4. Quick Check:

    Function call needs () = Missing parentheses [OK]
Hint: Remember to add () when calling functions like is_available [OK]
Common Mistakes:
  • Forgetting parentheses on function calls
  • Assuming is_available is a property, not a method
  • Misreading indentation or print syntax
5. You want to run your PyTorch model on GPU if available, otherwise on CPU. Which code snippet correctly sets the device?
hard
A. device = torch.device('cuda:0' if torch.cuda.is_available else 'cpu:0')
B. device = torch.device('gpu' if torch.cuda.is_available() else 'cpu')
C. device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
D. device = torch.device('cuda:1' if torch.cuda.is_available() else 'cpu')

Solution

  1. Step 1: Understand device selection syntax

    PyTorch uses torch.device('cuda') for GPU and torch.device('cpu') for CPU.
  2. Step 2: Check conditional device assignment

    The correct way is to use 'cuda' if GPU is available, else 'cpu'. device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') uses this correctly.
  3. Step 3: Analyze other options

    device = torch.device('cuda:0' if torch.cuda.is_available else 'cpu:0') omits parentheses after torch.cuda.is_available, so the function is not called (function object is truthy), always selecting GPU even if unavailable at runtime. device = torch.device('gpu' if torch.cuda.is_available() else 'cpu') uses invalid 'gpu' string. device = torch.device('cuda:1' if torch.cuda.is_available() else 'cpu') forces 'cuda:1' which may not exist.
  4. Final Answer:

    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') -> Option C
  5. Quick Check:

    Use 'cuda' or 'cpu' strings correctly for device [OK]
Hint: Use 'cuda' string, not 'gpu', for device selection [OK]
Common Mistakes:
  • Forgetting parentheses after torch.cuda.is_available()
  • Using 'gpu' instead of 'cuda' in device string
  • Hardcoding GPU index without checking availability
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard