einops 张量操作

举报
风吹稻花香 发表于 2021/06/05 23:13:24 2021/06/05
【摘要】   pip install einops   from einops import rearrange, reduce, repeat # 按给出的模式重组张量 output_tensor = rearrange(input_tensor, 't b c -> b c t') # 结合重组(rearrange)和reduction操作 ou...

 

pip install einops

 

from einops import rearrange, reduce, repeat # 按给出的模式重组张量

output_tensor = rearrange(input_tensor, 't b c -> b c t') # 结合重组(rearrange)和reduction操作

output_tensor = reduce(input_tensor, 'b c (h h2) (w w2) -> b h w c', 'mean', h2=2, w2=2) # 沿着某一维复制

output_tensor = repeat(input_tensor, 'h w -> h w c', c=3)

 

重新考虑和上面相同的例子:


  
  1. y = x.view(x.shape[0], -1) # x: (batch, 256, 19, 19)
  2. y = rearrange(x, 'b c h w -> b (c h w)')
  •  

第二行检查了输入数据拥有四个维度(当然你也可以指定其他数字)
这和仅仅写注释标明数据维度是很不一样的,毕竟据我们所知,注释不能运行也无法阻止错误发生


  
  1. y = x.view(x.shape[0], -1) # x: (batch, 256, 19, 19)
  2. y = rearrange(x, 'b c h w -> b (c h w)', c

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/109179271

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。