pytorch(3d、4d张量转换)

维度转换

import torch

from einops import rearrange

print(torch.cuda.is_available())

to_3d

把四维的张量转换为三维的张量,输入形状(b,c,h,w),输出形状(b,hw,c)

def to_3d(x):

return rearrange(x, 'b c h w -> b (h w) c')

to_4d

把三维的张量转换为四维的张量,输入形状(b,hw,c),输出形状(b,c,h,w)

def to_4d(x,h,w):

return rearrange(x, 'b (h w) c -> b c h w', h=h, w=w)

测试

if name == 'main':

创建一个四维张量

tensor_4d = torch.randn(2, 3, 4, 5) # 形状(批大小2, 通道数3, 高度4, 宽度5)

转换为三维张量

tensor_3d = to_3d(tensor_4d) # 形状(批大小2, 20, 3)

转换为四维张量

height, width = 4, 5

tensor_4d_back = to_4d(tensor_3d, height, width) # 形状(批大小2, 通道数3, 高度4, 宽度5)

print(tensor_4d.shape)

print(tensor_3d.shape) # 输出:torch.Size([2, 20, 3])

print(tensor_4d_back.shape) # 输出:torch.Size([2, 3, 4, 5])

相关推荐
一晌小贪欢2 分钟前
Web 自动化指南:如何用 Python 和 Selenium 解放双手
开发语言·前端·图像处理·python·自动化·python办公
AmyLin_20015 分钟前
【pdf2md-1:开篇】高保真PDF转MarkDown附源码(标题/表格/图片全还原)
python·pdf·github·sdk·pdf2md·文档工具
菜鸟中的拖拉机6 分钟前
Python之conda创建虚拟环境
开发语言·python·conda
呱牛do it9 分钟前
企业级软件研发团队绩效考核系统开发(持续更新 Day 7)
python·fastapi·研发管理
钰衡大师9 分钟前
邮件头信息修改工具开发技术文档
开发语言·python
源码之家16 分钟前
计算机毕业设计:Python二手车交易价格预测分析平台 Django框架 随机森林 可视化 数据分析 汽车 车辆 大数据 hadoop(建议收藏)✅
大数据·爬虫·python·机器学习·django·汽车·课程设计
码农的神经元17 分钟前
Deep-HMM 融合 Transformer:序列分类的动态隐状态建模新范式
人工智能·深度学习·transformer
FL162386312920 分钟前
智慧工业X射线图像煤矸石检测数据集VOC+YOLO格式447张3类别
深度学习·yolo·机器学习
清水白石00825 分钟前
Python 性能优化避坑指南:回归风险防控、基准压测与安全回滚实战
python·性能优化·回归
好家伙VCC30 分钟前
# 发散创新:基于状态通道的以太坊智能合约高效交互实践在区块链应用开发中,**交易
java·python·区块链·智能合约