Containers容器(骨架的基本搭建)
Module
Module给所有神经网络提供框架,是所有神经网络模块的基类,然后实现他内部的一些方法从而搭建自己的神经网络。
import torch.nn as nn
import torch.nn.functional as F
class Model(nn.Module):
def __init__(self):
super().__init__()
self.conv1 = nn.Conv2d(1, 20, 5)
self.conv2 = nn.Conv2d(20, 20, 5)
def forward(self, x):
x = F.relu(self.conv1(x))
return F.relu(self.conv2(x))
init初始化:
forward:前向传播
CONV2D
对网络结构检验
zls = Resnet()
print(zls)
input = torch.ones((63,3,32,32))
output = zls(input)
print(output.shape)
在init中用Sequential写forward
self.model1 = Sequential(#方便了forward的书写
Conv2d(3,32,5,padding =2)
Maxpool2d(2)
)
用tensorboard的add_graph可以看写出来的神经网络的结构
writer= SummaryWriter("logs_seq")
writer.add_graph(zls,input)