error=nn.MSELoss() # o la que prefieras aj=torch.optim.Adam(red.parameters(),lr=0.0002)# o el que prefieras #Si una tasa de ajuste fija no te vale, prueba algo de lo siguiente #contaj=torch.optim.lr_scheduler.MultiplicativeLR(aj,lr_lambda= lambda paso: 0.99 if erroraj>2 else 0.95) # o la condición que quieras for it in range(limit): mederr=0 red.zero_grad() salred = red(tea) eaj = error(salred, tsa) eaj.backward() aj.step() erroraj=eaj.item() #contaj.step() Si quieres ir cambiando la tasa de ajuste print(it,erroraj)