net.py 874 B

1234567891011121314151617181920212223242526272829303132
  1. from torch import nn
  2. import torch
  3. class FullyConnectedNet(nn.Module):
  4. def __init__(self):
  5. super().__init__()
  6. # nn.Sequential() 会按顺序执行每一层
  7. self.net = nn.Sequential(
  8. nn.Flatten(),
  9. nn.Linear(28*28, 512),
  10. nn.ReLU(),
  11. nn.Linear(512, 256),
  12. nn.ReLU(),
  13. nn.Linear(256, 128),
  14. nn.ReLU(),
  15. nn.Linear(128, 10),
  16. # 输出函数
  17. nn.Softmax(dim=1) #NV结构,激活V
  18. )
  19. def forward(self, x):
  20. # forward() 函数定义函数如何从输入流到输出
  21. # 输入 x 是一批图片,输出是每张图片对应 10 个数字类别的logits
  22. return self.net(x)
  23. if __name__ == '__main__':
  24. data = torch.randn(1,1,28,28)
  25. net = FullyConnectedNet()
  26. output = net(data)
  27. print(output)