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)

相关推荐
__如果3 小时前
深度学习复习笔记
人工智能·笔记·深度学习
zdy12635746886 小时前
python37天打卡
人工智能·深度学习·算法
逼子格6 小时前
长短期记忆网络:从理论到创新应用的深度剖析
深度学习·神经网络·lstm·长短期记忆网络
美狐美颜sdk7 小时前
从图像处理到深度学习:直播美颜SDK的人脸美型算法详解
图像处理·深度学习·计算机视觉·美颜sdk·美颜api
Joker 0077 小时前
Ubuntu 安装 FSL 及多模态脑MRI的去颅骨处理(含 HD-BET 深度学习方法)
linux·深度学习·ubuntu
小饼干超人8 小时前
手写multi-head Self-Attention,各个算子详细注释版
人工智能·深度学习·机器学习
攻城狮7号8 小时前
谷歌Gemma模型实现智能看病、翻译手语、与海豚沟通
人工智能·深度学习·medgemma·signgemma·dolphingemma
有Li10 小时前
MSTNet:用于糖尿病视网膜病变分类的多尺度空间感知 Transformer 与多实例学习方法|文献速递-深度学习医疗AI最新文献
论文阅读·深度学习
羊小猪~~11 小时前
【NLP入门系列一】NLP概述和独热编码
人工智能·pytorch·深度学习·考研·机器学习·自然语言处理·easyui
zhojiew11 小时前
图解gpt之Transformer架构与设计原理
gpt·深度学习·transformer