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

对比tensorflow,从0开始学pytorch(三)--自定义层

上文虽然实现了GMS层的效果,但是前端代码太多,太ugly,也不好复用。今天抽空看了下pytorch中怎么自定义层,很简单,比tensorflow好用。

1. 任意文件夹创建个文件,和所有编程语言一样

2. 一样,集成nn.Module,然后自定义一个形参

这里需要花时间搞明白torch.nn.functional下的函数和torch.nn下的类的区别,一开始有点懵,想着为什么不做高级语言当中的静态函数,想明白了也就简单了。

图中的SPP_Sizes做了类型定义,python中一般情况不需要定义类型,但不定义在后面循环就会报错,看了下pytorch自带conv2d的源码,发现源码中非常严谨,每一个变量都定义了类型。

3. 调用就非常简单了,上一篇笔记中的冗长的代码,就可以一行调用

4. 简化后,代码看过去顺眼多了。附上GMS封装后的源码和训练结果

import torch import torch.nn as nn import torch.nn.functional as F class GMS(nn.Module): def __init__(self, Spp_Sizes:[]): super().__init__() if len(Spp_Sizes) == 0: self.SPP_Sizes = [2, 3, 4] else: self.SPP_Sizes = Spp_Sizes def forward(self, x): x_gap = F.adaptive_avg_pool2d(x, (1, 1)) x_gap = torch.flatten(x_gap, 1) x_gmp = F.adaptive_max_pool2d(x, (1, 1)) x_gmp = torch.flatten(x_gmp, 1) x_gms = torch.cat((x_gap, x_gmp), dim=1) for spp_size in self.SPP_Sizes: x_spp = F.adaptive_max_pool2d(x, (spp_size,spp_size)) x_spp = torch.flatten(x_spp, 1) x_gms = torch.cat((x_gms, x_spp), dim=1) return x_gms

http://www.cnnetsun.cn/news/25781.html

相关文章:

  • AI如何帮你快速搭建RAID10存储系统?
  • GC5035图像传感器深度解析与完整指南
  • 终极串口调试助手:RS485/RS232设备测试完全指南
  • 【YOLO11-MM 多模态目标检测】交叉CrossTransformerFusion特征融合、抛弃Concat、实现全局把控
  • 1小时验证创意:蓝牙水控器原型开发全记录
  • 5分钟快速验证:用Docker在Ubuntu搭建Python数据分析环境
  • VCU应用层模型:实车量产中独立功能模型的编译支持
  • Sanic框架CLI参数解析异常深度解析与修复指南
  • 效率对比:传统vs AI辅助开发Vue-Baidu-Map
  • Bodymovin/Lottie完整教程:从零开始掌握动画导出与渲染
  • Figma汉化插件实战:跨国团队协作的救星
  • 永磁同步电机控制玩的就是环套环的把戏,今天咱们拆解一套RSMDO+DBCC组合拳。这玩意儿在工业现场对付参数变化和负载扰动特别带劲,不信你看完下面的代码实操
  • 2024年CUPT技术探索:水滴透镜comsol仿真技术与实际应用分析
  • Linux小白也能懂:fcitx5中文输入法安装使用图解
  • 用AI构建导师评价系统:5分钟开发全流程
  • AI图像修复工具深度优化指南:从基础应用到专业调优
  • AI一键生成Oracle安装脚本,告别复杂配置
  • 实用Node-RED编程:从零到精通的完整学习指南
  • OpenAI Whisper Turbo模型实战部署:从零到一构建高效语音转写系统
  • 企业级项目中依赖注入错误的5个真实案例解析
  • MES信息化智能化解决方案,MES实施方案
  • UE5 材质-28-各种节点:三输出的 if 节点,借助于 time 节点和 Frac(只取小数部分)得到纹理的溶解效果。 也可用于测试 TextureCoordinate 节点的输出向量的值是什么
  • UE5 材质-29-各种节点:
  • 有什么好的团队文件管理软件?测评对比14款
  • CV技术的应用现状与CNN模型识别图像中对象的流程
  • 小兔鲜儿微信小程序开发全攻略
  • 项目分享 | Agent Lightning:零代码改动训练与优化你的AI智能体
  • 用户体验设计终极指南:《用户体验的要素》免费PDF下载
  • 如何快速分析C盘里到底是什么东西占用了最多空间?
  • C盘如何清理?