#python #neural-network #pytorch #gradient
Вопрос:
Я запускаю программу, которая изучает тензор параметров x. Но я изменил его на x^y, добавив новый параметр y в свою модель.
Более поздние результаты приводят к nan
значениям. Вы можете проверить, например, следующее
>>>import torch
>>>x = torch.randn(4,3)
>>>y = torch.randn(1)
>>print(x)
tensor([[-0.7662, 0.7113, -0.8803],
[-1.0947, 0.4314, 2.2009],
[-1.4202, 0.5253, -0.5965],
[-0.1162, 1.3597, 1.1211]])
>>print(y)
tensor([0.6968])
>>print(x ** y)
tensor([[ nan, 0.7887, nan],
[ nan, 0.5567, 1.7327],
[ nan, 0.6385, nan],
[ nan, 1.2387, 1.0829]])
Если я попытаюсь инициализировать y целыми числами, то это приведет к следующей ошибке
RuntimeError: Only Tensors of floating point and complex dtype can require gradients
Как решить эту проблему, чтобы обучить мою сеть?