#使用nn.module和nn.parameter来完成训练循环
#代替上面的torch.nn.functional
from torch import nn
class Mnist_Logistic(nn.Module):
def __init__():
super().__init__()
self.weights=nn.Parameter(torch.randn(784,10)/math.sqrt(784))
self.bias=nn.Parameter(torch.zeros(10))
def forward(self,xb):
return xb @ self.weights+self.bias
实例化上面的类
model= Mnist_Logistic()
会报错
init() takes 0 positional arguments but 1 was given
错误是指__init()不需要参数,却被传递了一个参数
但是我们并没有传递参数啊
原来python中每个与类相关的方法都会自动传递实参self
因此需要将__init__()改为__init__(self)