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)

相关推荐
隐语SecretFlow1 天前
国人自研开源隐私计算框架SecretFlow,深度拆解框架及使用【开发者必看】
深度学习
Billy_Zuo1 天前
人工智能深度学习——卷积神经网络(CNN)
人工智能·深度学习·cnn
羊羊小栈1 天前
基于「YOLO目标检测 + 多模态AI分析」的遥感影像目标检测分析系统(vue+flask+数据集+模型训练)
人工智能·深度学习·yolo·目标检测·毕业设计·大作业
l12345sy1 天前
Day24_【深度学习—广播机制】
人工智能·pytorch·深度学习·广播机制
九章云极AladdinEdu1 天前
超参数自动化调优指南:Optuna vs. Ray Tune 对比评测
运维·人工智能·深度学习·ai·自动化·gpu算力
研梦非凡1 天前
ICCV 2025|从粗到细:用于高效3D高斯溅射的可学习离散小波变换
人工智能·深度学习·学习·3d
通街市密人有2 天前
IDF: Iterative Dynamic Filtering Networks for Generalizable Image Denoising
人工智能·深度学习·计算机视觉
智数研析社2 天前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
七元权2 天前
论文阅读-Correlate and Excite
论文阅读·深度学习·注意力机制·双目深度估计
ViperL12 天前
[智能算法]可微的神经网络搜索算法-FBNet
人工智能·深度学习·神经网络