当前位置: 首页 > news >正文

(Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)

首先给大家介绍的是网络层的输出维度调试:

from torchsummary import summary...
#在这里就随便用一个网络层了class OutConv(nn.Module):def __init__(self, in_channels, out_channels):super(OutConv, self).__init__()self.conv = nn.Conv3d(in_channels, out_channels, kernel_size=1)def forward(self, x):return self.conv(x)
print('OutConv:', summary(OutConv(1, 128), (1, 128, 128, 128), batch_size=1, device="cpu"))

上述的方法只适用于单输入(当然这是我自己的理解!!!我自己的理解,不一定是正确的!!)

所以如果我们有的层是双输入的话,我们可以这样输入:

class Conv(nn.Module):...这里就省略了def forward(self, x1, x2, x3):.....# conv = Conv(...)
# x1 = torch.randn(1, 32, 32, 32, 32)  # 假设输入数据的尺寸是 (batch_size, channels, depth, height, width)
# x2 = torch.randn(1, 32, 64, 64, 64)  # x2 的尺寸应该比 x1 的尺寸大
# x3 = torch.randn(1, 64, 128, 128, 128)
# # 通过 Conv 实例
# output = ups(x1, x2, x3)
# # 查看输出的尺寸
# print("Conv Output size:", output.size())

然后当我们把网络结构搭好之后:

from torchsummary import summary...class net(nn.Module):def __init__(self, ...):....device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = net(...).to(device)summary(model, (1, 112, 112, 80)) 

就像下面这样:

我们可以看到所有的维度信息,还有参数量信息

最后如果我们想调试搭建好的网络的其中一部分,我们可以这样:

def forward(self, x):x1 = self.inc(x)print("x1 shape:", x1.shape)x2 = self.down1(x1)print("x2 shape:", x2.shape)

我们可以看到:

各位小伙伴们,本期内容是针对有一些基础的人,如果大家基础不是很好的话,有可能会看不懂,因为我也是想给大家分享,原谅我没有写的这么细致~

注:里面有一些内容是我自己的理解,如果有理解不正确的,请大家谅解,不是误人子弟!!

相关文章:

  • Vue2:用node+express写一个轻量级的后端服务
  • 大唐杯学习笔记:Day5
  • Swing程序设计(11)动作事件监听器,焦点事件监听器
  • Docker Compose实战指南:让容器管理变得简单而强大
  • 集成2.5G/5G/10G高速率网络变压器的RJ45网口连接器产品特点介绍
  • 从零开始在kitti数据集上训练yolov5
  • AWS虚拟机迁移到Azure上的实战操作
  • Doris实战——银联商务实时数仓构建
  • HTML简介:想成为前端开发者?先从掌握HTML开始!
  • Linux进程详细介绍
  • C# 属性设置为“get; private set;”好处
  • 亚信安慧AntDB:为数字化铺平道路
  • 详细了解网络通信流程、协议组成、编码方式、数据传输方式和途径、Http 协议的编码、cookie的使用和提取路径
  • 算法学习03:前缀和与差分(互逆)
  • MySQL高可用性攻略:快速搭建MySQL主从复制集群 !
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • bootstrap创建登录注册页面
  • es6(二):字符串的扩展
  • Facebook AccountKit 接入的坑点
  • python学习笔记 - ThreadLocal
  • SQLServer之创建显式事务
  • Web标准制定过程
  • windows下如何用phpstorm同步测试服务器
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 搭建gitbook 和 访问权限认证
  • 06-01 点餐小程序前台界面搭建
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 积累各种好的链接
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • #Java第九次作业--输入输出流和文件操作
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • %@ page import=%的用法
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (python)数据结构---字典
  • (TOJ2804)Even? Odd?
  • (第一天)包装对象、作用域、创建对象
  • (定时器/计数器)中断系统(详解与使用)
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)小程序儿童艺术培训机构教育管理小程序 毕业设计 201740
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .gitignore文件设置了忽略但不生效
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET的数据绑定
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [1204 寻找子串位置] 解题报告
  • [bzoj 3534][Sdoi2014] 重建
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [C语言]——分支和循环(4)