CIfar10模型如下
针对给出的模型,我们手动实现,代码如下
import torch
from torch import nn, tensor
from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear
from torch.utils.tensorboard import SummaryWriter
class Cifar10(nn.Module):
def __init__(self):
super(Cifar10, self).__init__()
self.module=Sequential(
Conv2d(in_channels=3,out_channels=32,kernel_size=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,input):
output=self.module(input)
return output
tudiu=Cifar10()
#构建一个bach_size=64,通道为3,长和宽为32,且里面数组都是1的tensor
input=torch.ones((64,3,32,32))
output=tudiu(input)
print(output.shape)
writer=SummaryWriter("logs")
writer.add_graph(tudiu,input)
writer.close()
在终端输入:tensorboard --logdir=logs,打开tensorboard
可以形象的看到该模型的每一个层,双击还可以看到权重参数和偏置值,很有意思。