怎么用PyTorch的einops张量操作神器
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,这篇文章主要介绍"怎么用PyTorch的einops张量操作神器",在日常操作中,相信很多人在怎么用PyTorch的einops张量操作神器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
千家信息网最后更新 2025年02月16日怎么用PyTorch的einops张量操作神器
这篇文章主要介绍"怎么用PyTorch的einops张量操作神器",在日常操作中,相信很多人在怎么用PyTorch的einops张量操作神器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用PyTorch的einops张量操作神器"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
安装:
pip install einops
基础用法
einops的强项是把张量的维度操作具象化,让开发者"想出即写出"。举个例子:
from einops import rearrange # rearrange elements according to the patternoutput_tensor = rearrange(input_tensor, 'h w c -> c h w')
用'h w c -> c h w'就完成了维度调换,这个功能与pytorch中的permute相似。但是,einops的rearrange玩法可以更高级:
from einops import rearrangeimport torch a = torch.randn(3, 9, 9) # [3, 9, 9]output = rearrange(a, 'c (r p) w -> c r p w', p=3)print(output.shape) # [3, 3, 3, 9]
这就是高级用法了,把中间维度看作r×p,然后给出p的数值,这样系统会自动把中间那个维度拆解成3×3。这样就完成了[3, 9, 9] -> [3, 3, 3, 9]的维度转换。
这个功能就不是pytorch的内置功能可比的。
除此之外,还有reduce和repeat,也是很好用。
from einops import repeatimport torch a = torch.randn(9, 9) # [9, 9]output_tensor = repeat(a, 'h w -> c h w', c=3) # [3, 9, 9]
指定c,就可以指定复制的层数了。
再看reduce:
from einops import reduceimport torch a = torch.randn(9, 9) # [9, 9]output_tensor = reduce(a, 'b c (h h3) (w w2) -> b h w c', 'mean', h3=2, w2=2)
这里的'mean'指定池化方式。 相信你看得懂,不懂可留言提问~
高级用法
einops也可以嵌套在pytorch的layer里,请看:
# example given for pytorch, but code in other frameworks is almost identical from torch.nn import Sequential, Conv2d, MaxPool2d, Linear, ReLUfrom einops.layers.torch import Rearrange model = Sequential( Conv2d(3, 6, kernel_size=5), MaxPool2d(kernel_size=2), Conv2d(6, 16, kernel_size=5), MaxPool2d(kernel_size=2), # flattening Rearrange('b c h w -> b (c h w)'), Linear(16*5*5, 120), ReLU(), Linear(120, 10), )
这里的Rearrange是nn.module的子类,直接可以当作网络层放到模型里~
到此,关于"怎么用PyTorch的einops张量操作神器"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
张量
维度
神器
学习
高级
功能
更多
好用
帮助
实用
相似
接下来
例子
具象
基础
子类
就是
开发者
强项
数值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
浙江计算机网络技术专升本
贵州省中小学网络安全
长沙软件开发一度教育
gepia2数据库准不准
深圳中介强互联网科技有限公司
杭州智云互联网科技有限公司
xx镇反网络安全宣讲主持词
采用什么规格的esg数据库
sql2008新建数据库
良好的网络安全意识有哪些
易库网络技术有限公司
服务器 sas接4sata
简述网络安全法试题
中国澳门定制oa服务器云主机
毛小孩儿(北京)网络技术
nas家庭服务器
电脑出现服务器远程调用
张家港兼职软件开发
mc服务器内存高了打不开
专科网络技术论文
网络技术名词解释对等网
方舟服务器没有存档目录
数据库升级命令行
ctf网络安全大赛选手
浙江联想服务器虚拟化操作
网络安全方面的手抄报 八年级
软件开发过程中各种输出文档
陈长城北京农业银行软件开发
软件开发投标文件完整范本
山东服务器电源购买