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)

相关推荐
DogDaoDao11 小时前
【第 04 篇】列表与元组 —— 序列类型核心详解
人工智能·python·深度学习·神经网络·机器学习·conda·numpy
米核AI易山11 小时前
扣子工作流错误处理:用条件分支打造不崩的自动化流水线
人工智能·深度学习·自动化·coze·扣子工作流·米核ai易山
一切皆是因缘际会12 小时前
从生成智能到自主智能:人工智能的技术重构与价值迭代
人工智能·深度学习·ai·重构
WPF工业上位机20 小时前
YXGK.FakeVM深度学习之5语义分割
人工智能·深度学习
weixin_4684668520 小时前
大模型新手入门与实战指南
人工智能·深度学习·ai·大模型
装不满的克莱因瓶21 小时前
掌握 RNN 与 LSTM 模型结构
人工智能·python·rnn·深度学习·神经网络·ai·lstm
努力学习_小白21 小时前
ResNeXt-50——学习记录
pytorch·深度学习·学习
Kobebryant-Manba21 小时前
记录动手学深度学习基础知识
人工智能·深度学习
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-06-04
人工智能·经验分享·深度学习·神经网络·产品运营
君为先-bey1 天前
JointDiT:使用扩散变换器增强RGB-深度联合建模
人工智能·深度学习·计算机视觉·扩散模型·图像生成