您的位置:首页 > 财经 > 产业 > 网店运营与管理_常德小程序开发公司_安装百度_推广产品怎么发朋友圈

网店运营与管理_常德小程序开发公司_安装百度_推广产品怎么发朋友圈

2024/12/26 0:58:24 来源:https://blog.csdn.net/qq_51409113/article/details/144231257  浏览:    关键词:网店运营与管理_常德小程序开发公司_安装百度_推广产品怎么发朋友圈
网店运营与管理_常德小程序开发公司_安装百度_推广产品怎么发朋友圈

(一) pytorch 官网内置的网络模型

图像处理:

Models and pre-trained weights — Torchvision 0.20 documentation

(二) CIFAR10数据集的分类网络模型(仅前向传播):

下方的网络模型图片有误,已做修改,具体情参考代码。

在这里插入图片描述

1)代码如下:

Sequential() 函数的 demo
Sequential() 函数可以快速定义一个前馈神经网路,按顺序堆叠不同的层,但是要保证层之间的输入和输出尺寸要匹配。

import torch
from torch import nn
import torchvision
from torchvision import transforms
from torch.utils.data import DataLoaderclass CIFAR10_NET(nn.Module):def __init__(self):super(CIFAR10_NET, self).__init__()self.conv1 = nn.Conv2d(3, 32, 5,padding=2) # 输入输出尺寸相同,故根据公式计算出padding的值self.pool1 = nn.MaxPool2d(2, 2)self.conv2 = nn.Conv2d(32, 32, 5,padding=2)self.pool2 = nn.MaxPool2d(2, 2)self.conv3 = nn.Conv2d(32, 64, 5,padding=2)self.pool3 = nn.MaxPool2d(2, 2)self.flatten = nn.Flatten()self.linear1 = nn.Linear(1024, 64)self.linear2 = nn.Linear(64, 10)def forward(self, x):x = self.conv1(x)x = self.pool1(x)x = self.conv2(x)x = self.pool2(x)x = self.conv3(x)x = self.pool3(x)x = self.flatten(x)x = self.linear1(x)x = self.linear2(x)return xCIFAR10_NET_Instance = CIFAR10_NET()
print(CIFAR10_NET_Instance)

Sequential() 函数的 demo

import torch
from torch import nn
from torch.utils.tensorboard import SummaryWriterclass CIFAR10_NET(nn.Module):def __init__(self):super(CIFAR10_NET, self).__init__()self.model = nn.Sequential(nn.Conv2d(3, 32, 5, padding=2),  # 输入输出尺寸相同,故根据卷积层的公式计算出padding的值,此时默认stride=1nn.MaxPool2d(2, 2),nn.Conv2d(32, 32, 5, padding=2),nn.MaxPool2d(2, 2),nn.Conv2d(32, 64, 5, padding=2),nn.MaxPool2d(2, 2),nn.Flatten(),nn.Linear(1024, 64),nn.Linear(64, 10))def forward(self, x):x = self.model(x)return xCIFAR10_NET_Instance = CIFAR10_NET()
print(CIFAR10_NET_Instance)writer = SummaryWriter('logs')
writer.add_graph(CIFAR10_NET_Instance, (torch.rand(1, 3, 32, 32), )) # 在tensorboard中将计算图可视化
writer.close()

在命令行使用 tensorboard 的效果图:

在这里插入图片描述

双击网络模型名:

在这里插入图片描述

继续双击会出现更多的细节内容!!

2)注意点:

  • 如果想要输入和输出的尺寸相同的话,需要按照卷积层中的公式来计算 paddingstride 的值,具体情参考笔记(十)。

  • 一般先搭建网络,在导入数据集之前,往往先用以下代码进行测试:

    # 先创建网络模型实例,假设为 test_net
    input = torch.ones((64,in_channels,H_in,W_in)) # in_channels、H_in、W_in根据数据集的输入设置
    output = test_net(input)
    print(output.shape)
    

    如果网络模型有错误,就会报错。


上一篇下一篇
神经网络入门实战(十三)待发布

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com