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)

相关推荐
IT·小灰灰3 小时前
AI学会理解物理法则:OpenAI Sora 2如何重塑视频生成新范式
人工智能·python·深度学习·机器学习·数据挖掘·音视频
铅笔侠_小龙虾3 小时前
深度学习理论推导--二分类逻辑回归
深度学习·分类·逻辑回归
深度之眼4 小时前
入选TPAMI顶刊!多模态图像融合新突破!
深度学习·机器学习·多模态
IT阳晨。5 小时前
【CNN与卷积神经网络(吴恩达)】卷积神经网络学习笔记
笔记·深度学习·神经网络·cnn
Better Bench5 小时前
ThinkStation PGX 与 RTX 4090 深度学习性能对比测试报告
人工智能·深度学习·显卡·联想·4090·计算性能·pgx
sponge'6 小时前
opencv学习笔记13:U-Net
人工智能·深度学习·机器学习
IT·小灰灰7 小时前
当AI开口说话:可灵视频2.6如何终结“默片时代“重塑视听共生
大数据·人工智能·python·深度学习·数据挖掘·开源·音视频
渡我白衣7 小时前
AI应用层革命(六)——智能体的伦理边界与法律框架:当机器开始“做决定”
人工智能·深度学习·神经网络·机器学习·计算机视觉·自然语言处理·语音识别
小毅&Nora7 小时前
【人工智能】【深度学习】 ⑩ 图神经网络(GNN)从入门到工业落地:消息传递、稀疏计算与推荐/风控实战
人工智能·深度学习·图神经网络gnn
努力毕业的小土博^_^8 小时前
【生成式AI】Cross-Attention:多模态融合的神经网络桥梁(上篇)
人工智能·深度学习·神经网络·算法·机器学习·遥感