【发布时间】:2021-04-03 08:01:31
【问题描述】:
我开始观看有关 PyTorch 的教程,并且正在学习逻辑回归的概念。
我使用我拥有的一些股票数据进行了尝试。我有inputs,里面有两个参数trade_quantity和trade_value,还有targets,里面有对应的股价。
inputs = torch.tensor([[182723838.00, 2375432.00],
[185968153.00, 2415558.00],
[181970093.00, 2369140.00],
[221676832.00, 2811589.00],
[339785916.00, 4291782.00],
[225855390.00, 2821301.00],
[151430199.00, 1889032.00],
[122645372.00, 1552998.00],
[129015052.00, 1617158.00],
[121207837.00, 1532166.00],
[139554705.00, 1789392.00]])
targets = torch.tensor([[76.90],
[76.90],
[76.90],
[80.70],
[78.95],
[79.60],
[80.05],
[78.90],
[79.40],
[78.95],
[77.80]])
我将模型函数、损失定义为均方误差,并尝试运行几次以获得一些预测。代码如下:
def model(x):
return x @ w.t() + b
def mse(t1, t2):
diff = t1 - t2
return torch.sum(diff * diff) / diff.numel()
preds = model(inputs)
loss = mse(preds, targets)
loss.backward()
with torch.no_grad():
w -= w.grad * 1e-5
b -= b.grad * 1e-5
w.grad.zero_()
b.grad.zero_()
我为此使用 Jupyter,并运行了代码的最后部分几次,之后预测如下:
tensor([[inf],
[inf],
[inf],
[inf],
[inf],
[inf],
[inf],
[inf],
[inf],
[inf],
[inf]], grad_fn=<AddBackward0>)
如果我再运行几次,预测就会变成nan。你能告诉我为什么会这样吗?
【问题讨论】:
标签: pytorch