class LeNet(nn.Module):
def __init__(self, classes): # 初始化可以传入想要的参数
super(LeNet, self).__init__()
self.conv1 = nn.Conv2d(3,6,5)
self.conv2 = nn.Conv2d(6,16,5)
self.fc1 = nn.Linear(16*5*5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, classes) # number of classes
- parameters: 存储管理nn.Parameter类
- modules: 存储管理nn.Module类
- buffers: 存储管理缓冲属性,如BN层中的running_mean
- ***_hooks: 存储管理钩子函数
nn.Module总结
- 一个module可以包含多个子module
- 一个module相当于一个运算,必须实现forward()函数
- 每个module都有8个字典管理它的属性



