【我是土堆 - PyTorch教程】学习随手记_我愚蠢的_理想主义的博客-CSDN博客_我是土堆
程序代码如下:
展示的是CIFAR10模型的普通实现以及利用Sequential实现
import torch
from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequential
from torch.utils.tensorboard import SummaryWriter
class XZC(nn.Module):
def __init__(self):
super(XZC, self).__init__()
# self.conv1=Conv2d(3,32,5,padding=2)
# self.maxpool1=MaxPool2d(2)
# self.conv2=Conv2d(32,32,5,padding=2)
# self.maxpool2=MaxPool2d(2)
# self.conv3=Conv2d(32,64,5,padding=2)
# self.maxpool3=MaxPool2d(2)
# self.flatten=Flatten()
# self.linear1=Linear(1024,64)
# self.linear2=Linear(64,10)
self.model1=Sequential(
Conv2d(3,32,5,padding=2),
MaxPool2d(2),
Conv2d(32, 32, 5, padding=2),
MaxPool2d(2),
Conv2d(32, 64, 5, padding=2),
MaxPool2d(2),
Flatten(),
Linear(1024, 64),
Linear(64, 10)
)
def forward(self,x):
# x=self.conv1(x)
# x=self.maxpool1(x)
# x=self.conv2(x)
# x=self.maxpool2(x)
# x=self.conv3(x)
# x=self.maxpool3(x)
# x=self.flatten(x)
# x=self.linear1(x)
# x=self.linear2(x)
x=self.model1(x)
return x
xzc=XZC()
print(xzc)
input=torch.ones((64,3,32,32))
output=xzc(input)
print(output.shape)
writer=SummaryWriter("logs_seq")
writer.add_graph(xzc,input)
writer.close()
运行结果如下图:
展示的是所建立的神经网络的网络结构、输出以及在TensorBoard上面的效果。