Я предлагаю следующие изменения:
Изменение 1: перенастройка requires_grad_(True)
rd_torch = torch.from_numpy(rd).float()
Изменение 2: включая model.train()
перед тренировкой l oop:
...
model.train()
for i in range(iterations):
...
Изменение 3: использование loss.item()
losses.append(loss.item())