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

相关推荐
AI_大白几秒前
让 Cursor 帮你搞定美股 4 个时段:AI Agent 的时段感知实战
python·架构
Uncertainty!!1 分钟前
claude code在pycharm中的安装使用
ide·python·pycharm·claude code
覆东流4 分钟前
第7天:Python小项目
开发语言·后端·python
a1117767 分钟前
Boxer 论文复刻(需要下载的文件都已放到压缩包)
python·开源·cv
不吃肥肉的傲寒8 分钟前
Graphify安装与结合claude code使用指南
java·python·ai编程·图搜索
djjdjdjdjjdj13 分钟前
golang如何编写SSL证书到期检测工具_golang SSL证书到期检测工具编写总结
jvm·数据库·python
机器学习之心15 分钟前
GA-Transformer模型回归+SHAP分析+新数据预测+多输出!深度学习可解释分析(附MATLAB代码)
深度学习·回归·transformer
axinawang18 分钟前
第2课: 与世界打招呼(输出)
python
2301_8135995518 分钟前
HTML5中Canvas局部刷新区域重绘的算法优化
jvm·数据库·python
m0_6028577619 分钟前
mysql如何防止用户通过子查询窃取权限_MySQL安全参数设置
jvm·数据库·python