自定义 手动实现module
class MLP(nn.Module):
def __init__(self):
super().__init__()
self.hidden = nn.Linear(20, 256)
self.out = nn.Linear(256, 10)
def forward(self, x): # 前向计算
return self.out(F.relu(self.hidden(x)))
net = MLP()
# print(net(x))
定义网络
MLP网络
卷积神经网络
灵活地建构网络
class FixedhiddenMLP(nn.Module):
def __init__(self):
super().__init__()
self.rand_weight = torch.rand((20, 20), requires_grad=False)
self.liner = nn.Linear(20, 20)
def forward(self, x):
x = self.liner(x)
x = F.relu(torch.mm(x, self.rand_weight) + 1)
x = self.liner(x)
while x.abs().sum() > 1:
x /= 2
return x.sum()