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)

相关推荐
databook1 小时前
用递归消除法优化“特征子集”
python·机器学习·scikit-learn
CAE二次开发工程师1 小时前
【C语言入门到精通】-基础篇
c语言·开发语言·python
卡梅德生物科技小能手1 小时前
卡梅德生物科普 Zaire Ebola Virus(扎伊尔埃博拉病毒)|病毒抗原科研实践参考
经验分享·深度学习·生活
森G2 小时前
comfyui安装ComfyUI-Manager失败问题-解决办法
python
hhzz2 小时前
《深度学习框架PyTorch入门与实践》系列:03-autograd自动微分:反向传播的引擎
人工智能·pytorch·深度学习
过期的秋刀鱼!2 小时前
倾斜数据集的错误指标-混淆矩阵
人工智能·python·深度学习·机器学习·概率论·模型评估
探物 AI3 小时前
yolov6的骨干网络组件18:RepVGG,多分支进行训练,单分支进行推理(我有了SCI的主意)
网络·深度学习·yolo
大鹏的NLP博客3 小时前
大模型 Tokenizer:从字符到 Byte,再到大词表
深度学习·机器学习·大模型·分词
能年玲奈喝榴莲牛奶3 小时前
使用AI编写-资产和漏洞管理系统
人工智能·python·网络安全·安全服务
__Wedream__3 小时前
ICPR 2022 多教师知识蒸馏技术应用于图像超分辨率重建——MTKDSR
图像处理·人工智能·深度学习·超分辨率重建·图像复原和增强