Based on the output of nvidia-smi it seems your GPU is working.
Regarding the task manager output: there should be a “compute” tab you could activate somehow to see the actual compute workload. I’m not that familiar with Windows, but we had similar issues here in the forum, where the Windows task manager didn’t show the actual GPU usage.
PS: You could speed up your code by:

Precompute what seems to be fixed in your model. E.g. the sqrt calculation seems to be fixed to sqrt(7), so you might instead register it as a buffer in your __init__ via self.register_buffer('sqrt', torch.sqrt(torch.tensor(7.))).
Use local variables instead of global: self.k instead of k (same for n_channel).
Use multiple workers (num_workers > 0) in your DataLoader.

I haven’t profiled the code, but these changes seems to yield a speedup just looking at the outputs.