pytorch部分函数理解

维度转换函数

rearrange函数

python 复制代码
import torch
from einops import rearrange

data = torch.range(1, 25)
print(data)
data1 = rearrange(data, '(a b) -> a b', a=5, b=5)
data2 = rearrange(data, '(b a) -> a b', a=5, b=5)
print(data1)
print(data2)

对于data1,可以理解为按行展开;对于data2,则理解为按列展开。对data1做一个转置即可得到data2。

torch.view()和torch.reshape()函数

torch.view函数

python 复制代码
data = torch.range(1, 12)
data1=data.view(2,6)
data2=data.view(3,4)
print(data)
print(data1)
print(data2)

torch.reshape函数

python 复制代码
data = torch.range(1, 12)
data1=data.reshape(2,6)
data2=data.reshape(3,4)
print(data)
print(data1)
print(data2)

两者输出都是一样的

这些常见的维度转换函数默认都是按照**行展开**的。

unfold函数和fold函数

unfold函数的输入数据是四维,但输出是三维的。假设输入数据是[B, C, H, W], 那么输出数据是 [B, C* kH * kW, L], 其中 K H K_H KH是核的高, K W K_W KW是核宽。

L则是这个高kH宽kW的核,能在H*W区域按照指定stride滑动的次数。

L = ( H − K H + 1 ) ∗ ( W − K W + 1 ) L=(H-K_H+1)*(W-K_W+1) L=(H−KH+1)∗(W−KW+1)

相关推荐
码上掘金12 分钟前
基于深度学习的行人计数与人群密度分析系统设计与实现
人工智能·深度学习
数智工坊3 小时前
基于CLIP隐空间的层级文本条件图像生成:unCLIP核心原理与全链路解析
论文阅读·人工智能·深度学习·transformer·迁移学习
雪回3 小时前
基于 Stable Diffusion-WebUI 实现 LandPPT 本地模型绘图配置指南(SDWebUI )
人工智能·深度学习·ai·ai作画·stable diffusion·ppt
renhongxia14 小时前
工程科研中的AI应用:结构力学分析技巧
人工智能·深度学习·生成对抗网络·语言模型·自然语言处理
极光代码工作室5 小时前
基于NLP的智能问答系统设计
python·深度学习·自然语言处理·nlp
我没胡说八道5 小时前
毕业论文降 AI 率工具横评:谁才是 AI 检测的 “破局者”?
人工智能·经验分享·深度学习·考研·论文
多年小白5 小时前
【本周复盘】2026年5月6日-5月10日(3个交易日)
人工智能·科技·gpt·深度学习·ai
龙山云仓6 小时前
无忧智脑-让企业拥抱智能,让管理回归简单
人工智能·深度学习·机器学习
QFIUNE6 小时前
【文献阅读】化学空间边缘的分子深度学习
论文阅读·人工智能·笔记·深度学习
测绘第一深情7 小时前
AutoDL 上复现 MapQR:从环境配置到 nuScenes Mini 训练跑通
人工智能·深度学习·机器学习·自动驾驶·transformer