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])

相关推荐
科技块儿6 分钟前
多语言技术栈如何共用IP离线库?Java、Python、Go 的加载实践
java·python·tcp/ip
fawubio_A17 分钟前
毕业设计 深度学习卷积神经网络垃圾分类系统
python·cnn·毕业设计·毕设
放下华子我只抽RuiKe519 分钟前
机器学习全景指南-探索篇——发现数据内在结构的聚类算法
人工智能·深度学习·算法·机器学习·语言模型·数据挖掘·聚类
红茶川29 分钟前
[ExecuTorch 系列] 2. 导出官方支持的大语言模型
人工智能·pytorch·ai·端侧ai
与虾牵手36 分钟前
大模型流式输出 Streaming API 完整教程:从原理到踩坑,一篇搞定
python·aigc·ai编程
程序员JerrySUN38 分钟前
别再把 HTTPS 和 OTA 看成两回事:一篇讲透 HTTPS 协议、安全通信机制与 Mender 升级加密链路的完整文章
android·java·开发语言·深度学习·流程图
高洁011 小时前
学习基于数字孪生的质量预测与控制
人工智能·python·深度学习·数据挖掘·transformer
xier_ran1 小时前
【第一周】关键词解释:倒数排名融合(Reciprocal Rank Fusion, RRF)算法
开发语言·python·算法
HelloWorld__来都来了1 小时前
如何用python爬取上市公司信息
开发语言·python
开朗觉觉1 小时前
将json字符串转换为json对象
linux·服务器·python