例如,在这个例子中,我们期望输出的内容是“2”,但是并不是用实数“2”来做标签,而是用了表示实数2的分类概率的独热向量[0,0,1,0,0,0,0,0,0,0]做了标签;同理,如果是数字0,那么就是[1,0,0,0,0,0,0,0,0,0...每一次循环都是这个[1,784]的矩阵和这个[784,500]的矩阵的第i列做点积,看上去就是两个784维的向量,每两个对应的维度做乘法,最后再把这784个值加在一起,再加上一个b,这就是y=wx+b的表达式...我们怎么理解这个交叉熵的含义呢?这么想吧,当一个样本通过网络产生一个[1,10]的拟合值,必然和它期望的标签值——那个独热编码有差距,我们随便看一个小例子吧。...77行的循环就是遍历test_loader这个测试集了。
80行的这个部分中有一个torch.max函数,返回指定列中最大值的那个元素,且返回索引值。...你如果打印出labels和predicted,你就会发现,它们都是用索引值1,2,3这些值来表示的,而不是一个独热向量。
最后做统计,计算正确预测的数量有多少。