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

深度学习中特征(tensor)维度转换

深度学习中使用其他模块或者通道调整时常常需要维度转换,比如三维转四维或者四维转三维,下面用代码示例转换过程。

四维转三维 BCHW->BCN

import torch

x = torch.randn(8, 3, 32, 32) #BCN
print(x.shape)

b, c, h, w = x.size()
out = x.view(b, h*w, c)
print(out.shape)

'''
torch.Size([8, 3, 32, 32])
torch.Size([8, 1024, 3])
'''

核心方法是view函数,根据输入参数自动调整通道中的特征信息。

三维转四维 BCN->BCH*W

import torch

x = torch.randn(8, 3, 1024) #BCN
print(x.shape)

b, c, n = x.size()
h = 32
w = 32
out = x.view(-1, h, w, c)
print(out.shape)
out = x.view(b, h, w, c)
print(out.shape)
'''
torch.Size([8, 3, 1024])
torch.Size([8, 32, 32, 3])
torch.Size([8, 32, 32, 3])
'''

view中参数取-1会自动调整数值大小,如果手动设定,则要保证数值大小对应。

http://www.dtcms.com/a/10092.html

相关文章:

  • 数据链路层简单介绍
  • 阿里云数据库 SelectDB 版全面商业化,开启现代化实时数据仓库的全新篇章
  • 向郭老师学习研发项目管理
  • 赶紧收藏!2024 年最常见 20道 Redis面试题(三)
  • 文件搜索相关命令
  • 5.23小结
  • 老题重测,国产AI大模型从“智障”走向“智能”?
  • JS对象超细
  • 基于springboot+vue的学生考勤管理系统
  • LP-MSPM03507学习资料汇总
  • 2024年5月23号PMP每日三题含答案
  • 关于如何创建一个可配置的 SpringBoot Web 项目的全局异常处理
  • 创建vue工程、Vue项目的目录结构、Vue项目-启动、API风格
  • QComboBox
  • 专题汇编 | ChatGPT引领AIGC新浪潮(一)
  • React Query
  • Codeforces Round 821 (Div. 2) C. Parity Shuffle Sorting (构造之全变成一样的)
  • Python 全栈体系【四阶】(五十二)
  • 15:00面试,15:08就出来了,问的问题有点变态。。。
  • C#--SVG矢量图画法示例
  • 绿色智能:AI机器学习在环境保护中的深度应用与实践案例
  • 5g和2.4g频段有什么区别
  • Proteus与Multisim哪款更适合51单片机仿真?
  • 数据结构:内核kfifo的实践
  • 【WSN覆盖优化】基于灰狼优化算法的无线传感器网络覆盖 GWO-WSN覆盖优化【Matlab代码#74】
  • MySQL 用来查询表结构的 SQL 语句
  • AOP 切面判断 token 是否有效
  • OpenAI的Whisper
  • Vue3学习01 Vue3核心语法
  • 大语言模型的指令调优:综述