7-pytorch-CIFAR10模型搭建

b站小土堆pytorch教程学习笔记

复现CIFAR10网络结构
在这里插入图片描述

from torch import nn
from torch.nn import Conv2d, MaxPool2d, Flatten, Linearclass Han(nn.Module):def __init__(self):super(Han, self).__init__()self.conv1=Conv2d(in_channels=3,out_channels=32,kernel_size=5,padding=2,stride=1)self.maxpool1=MaxPool2d(kernel_size=2)self.conv2=Conv2d(in_channels=32,out_channels=32,kernel_size=5,padding=2,stride=1)self.maxpool2=MaxPool2d(kernel_size=2)self.conv3=Conv2d(in_channels=32,out_channels=64,kernel_size=5,padding=2,stride=1)self.maxpool3=MaxPool2d(kernel_size=2)self.flatten=Flatten()self.linear1=Linear(1024,64)self.linear2=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)return xhan=Han()
print(han)

Han(
(conv1): Conv2d(3, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
(maxpool1): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(conv2): Conv2d(32, 32, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
(maxpool2): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(conv3): Conv2d(32, 64, kernel_size=(5, 5), stride=(1, 1), padding=(2, 2))
(maxpool3): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False)
(flatten): Flatten(start_dim=1, end_dim=-1)
(linear1): Linear(in_features=1024, out_features=64, bias=True)
(linear2): Linear(in_features=64, out_features=10, bias=True)
)

检查网络正确性:
假定输入

#测试网络结构正确性
input=torch.ones((64,3,32,32))#产生都是1的输入
output=han(input)
print(output)

tensor([[ 0.0063, -0.0712, 0.0809, -0.0330, -0.1598, -0.0949, 0.0303, 0.0632,
0.0453, 0.0606]…

Sequential:

class Han(nn.Module):def __init__(self):super(Han, self).__init__()# self.conv1=Conv2d(in_channels=3,out_channels=32,#                   kernel_size=5,padding=2,stride=1)# self.maxpool1=MaxPool2d(kernel_size=2)# self.conv2=Conv2d(in_channels=32,out_channels=32,#                   kernel_size=5,padding=2,stride=1)# self.maxpool2=MaxPool2d(kernel_size=2)# self.conv3=Conv2d(in_channels=32,out_channels=64,#                   kernel_size=5,padding=2,stride=1)# self.maxpool3=MaxPool2d(kernel_size=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
han=Han()
# print(han)
#测试网络结构正确性
input=torch.ones((64,3,32,32))#产生都是1的输入
output=han(input)
# print(output)writer=SummaryWriter('logs/seq')
writer.add_graph(han,input)
writer.close()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/491254.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java语言实现学生管理系统

目录 题目 代码展示 学生类 方法类 main类 运行展示​编辑 题目 学生管理 设计一个学生信息管理系统,有添加学生,查询学生,删除学生等功能. 要求:1.设计一个类学生类,学生属性有学号,姓名,性别(属性私有权限) 用来存储学生的信息 要求2:实现对学生信息的增删查操作 要求…

SpringBoot:数据访问-整合 Druid 配置数据源监控

点击查看数据访问demo&#xff1a;LearnSpringBoot06DataJdbc 点击查看更多的SpringBoot教程 简介 Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。 一、添加druid-spring-boot-starter依赖 点击查询最新版 <dependency&g…

Redis高并发分布锁实战

Redis高并发分布锁实战 问题场景 场景一: 没有捕获异常 // 仅仅加锁 // 读取 stock15 Boolean ret stringRedisTemplate.opsForValue().setIfAbsent("lock_key", "1"); // jedis.setnx(k,v) // TODO 业务代码 stock-- stringRedisTemplate.delete(&quo…

第三百六十五回

文章目录 1. 概念介绍2. 使用方法3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取时间戳"相关的内容&#xff0c;本章回中将介绍dio中的通用请求.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在前面章回中介绍了如何使用dio库发起网络…

项目打包提示一堆 ts 类型错误问题解决

问题 vue3 ts 项目在打包的过程中报了一大堆 ts 类型错误提示&#xff0c;如下图所示&#xff1a; 报错&#xff1a;Could not find a declaration file for module … implicitly has an ‘any’ type. 解决方法 查看 package.json 文件&#xff0c;可以看到&#xff0c;默…

物麒平台根据入耳出耳状态使能或禁止触摸按键实现方法

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资 料, 1 消息发送 2 消息处理 3 宏开关 4 代码 #include "app_main.h" #include &q…

代码随想录算法训练营29期Day61|LeetCode 739,496

文档讲解&#xff1a;每日温度 下一个更大元素I 739.每日温度 题目链接&#xff1a;https://leetcode.cn/problems/daily-temperatures/description/ 思路&#xff1a; 维护一个单调递减的栈就行了。 一次读取一个数组中的元素&#xff0c;将其与栈顶元素比较&#xff0c;如…

Sqli-labs靶场第11关详解[Sqli-labs-less-11]

Sqli-labs-Less-11 前言&#xff1a; SQL注入的三个条件&#xff1a; ①参数可控&#xff1b;&#xff08;从参数输入就知道参数可控&#xff09; ②参数过滤不彻底导致恶意代码被执行&#xff1b;&#xff08;需要在测试过程中判断&#xff09; ③参数带入数据库执行。&…

杀疯啦!yolov9+bytetrack的目标跟踪实现

目录 YOLOV9介绍 bytetrack介绍&#xff1a; yolov9结合bytetrack实现目标跟踪 效果展示 训练与预测 UI设计 其他功能展示 完整代码实现UI界面 此次yolov9bytetrack不论是准确率还是稳定性&#xff0c;都超越了之前的yolobytetrack系列。 YOLOV9介绍 在目标检测…

Jitsi Meet 大型视频会议调优方案

jitsi meet 大型视频会议调优方案 在举办一些大型会议的时候,比如100个人会议,为了节约宽带和节省资源,我们并不会选择传输全部的音视频资源。 举个例子,比如100个人线下会议,如果大家都说话的情况下,大家要么听不清,要么听得是声音最大的那几个人。 视频会议也可以借…

VMware的三种连接模式

桥接模式 就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下&#xff0c;类似于把物理主机虚拟为一个交换机&#xff0c;所有桥接设置的虚拟机连接到这个交换机的一个接口上&#xff0c;物理主机也同样插在这个交换机当中&#xff0c;所以所有桥接下的网…

xss靶场实战(xss-labs-master靶场)

xss-labs-master靶场链接&#xff1a;https://pan.baidu.com/s/1X_uZLF3CWw2Cmt3UnZ1bTw?pwdgk9c 提取码&#xff1a;gk9c xss-labs level 1 修改 url 地址中的name<script>alert(1)</script>&#xff0c;便可以通关 level 2 在搜索框中输入的 JS 代码无法执行 …