Hi there, I am working on a project called dog_app.py, within conda environment and a Windows 10 machine.
Although I have (apparently) configured everything to use GPU, its usage barely goes above 2%. I am moving the model to cuda(), as well as my data. Why GPU is not being used at all? How do I debug that?
use_cuda = torch.cuda.is_available()
model_scratch = Net()
if use_cuda:
    model_scratch.cuda()
    print("Let's use", torch.cuda.device_count(), "GPU(s)!")

# Prints "Let's use 1 GPU(s)!"

...
def train(n_epochs, loaders, model, optimizer, criterion, use_cuda, save_path):
...
        model.train()
        for batch_idx, (data, target) in enumerate(loaders['train']):
            if use_cuda:
                data, target = data.cuda(), target.cuda()

I found this test on another thread on the subject, but allocating memory on the GPU worked just fine:
import torch
a = torch.cuda.FloatTensor(10000)
print("Allocated:", round(torch.cuda.memory_allocated(0)/10243,1), "GB")

b = torch.cuda.FloatTensor(20000)
print("Allocated:", round(torch.cuda.memory_allocated(0)/10243,1), "GB")

#Output:
# Allocated: 3.9 GB
# Allocated: 11.8 GB


image1162×417 19.3 KB