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

相关推荐
肾透侧视攻城狮11 分钟前
【效率革命】《TensorFlow分布式训练:攻克内存瓶颈与通信延迟的实战方案》
人工智能·深度学习·tensorflow分布式训练·分布式策略·数据/模型并行·多机配置/自定义训练循环·内存不足/设备间通信瓶颈
高洁0113 分钟前
多模态大模型的统一表征与推理范式
人工智能·python·深度学习·机器学习·transformer
啊阿狸不会拉杆14 分钟前
《计算机视觉:模型、学习和推理》第 8 章-回归模型
人工智能·python·学习·机器学习·计算机视觉·回归·回归模型
小鸡吃米…18 分钟前
TensorFlow 优化器
人工智能·python·tensorflow
凌云拓界20 分钟前
TypeWell全攻略(四):AI键位分析,让数据开口说话
前端·人工智能·后端·python·ai·交互
码界筑梦坊29 分钟前
220-基于Python的诺贝尔奖数据可视化分析系统
开发语言·python·信息可视化·数据分析·毕业设计·fastapi
风轻扬77735 分钟前
SqlAlchemy异步IO
python·异步io
276695829243 分钟前
微博评论采集
开发语言·python·微博·微博评论·微博评论采集
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 51--CI/CD 4--推送本地代码到Git远程仓库
python·学习·测试工具·ci/cd·pytest
ppppppatrick1 小时前
【深度学习基础篇05】从AlexNet到ResNet:经典卷积神经网络的演进
人工智能·深度学习·cnn