神经网络 - 搭建小实战和 Sequential 的使用

【我是土堆 - PyTorch教程】学习随手记_我愚蠢的_理想主义的博客-CSDN博客_我是土堆

神经网络 - 搭建小实战和 Sequential 的使用_第1张图片

神经网络 - 搭建小实战和 Sequential 的使用_第2张图片

程序代码如下: 

展示的是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上面的效果。

神经网络 - 搭建小实战和 Sequential 的使用_第3张图片神经网络 - 搭建小实战和 Sequential 的使用_第4张图片

 

 神经网络 - 搭建小实战和 Sequential 的使用_第5张图片

 神经网络 - 搭建小实战和 Sequential 的使用_第6张图片

神经网络 - 搭建小实战和 Sequential 的使用_第7张图片 

 

你可能感兴趣的:(pytorch,python基础知识,深度学习,python,pytorch)