我已经在Pytorch中使用超简单的NN实现了XOR问题作为学习练习。网络已经过训练,现在我给它新的输入,寻找输出,我得到以下信息:
print("(0, 0) = {}".format(model(Variable(torch.Tensor([0, 0]).unsqueeze(0)))))
print("(1, 0) = {}".format(model(Variable(torch.Tensor([1, 0]).unsqueeze(0)))))
7.7716e-07, 1
为什么对输入[1, 0]
输出恰好 1,但对[0, 0]
却不完全输出 0。我知道它接近它,但是为什么不像另一个那样呢?仅仅是需要更多培训吗?
答案 0 :(得分:0)
可能只是格式上的差异。请注意:
small_number = torch.tensor(1e-10)
print(small_number)
print(1 + small_number)
tensor(1.0000e-10)
tensor(1.)
答案 1 :(得分:0)
如果训练更多,则结果可能会接近四舍五入的数字。但是请记住,您正在通过最大程度地减少损失来调整函数(多参数nn),因此不太可能获得确切的整数。
我做过与您看过的notebook
相同的练习