pytorch中expand()和expand_as()和repeat()函数解读
简要
三个函数都是不扩展维度却改变tensor维度数值存在的。关于扩展维度查看;关于更改维度位置查看
()和expand_as()
这两个函数放在⼀起说⽐较好。
expand(*sizes)→Tensor
很简单,扩张函数。但是要注意的是:-1代表了保持不更改该维度的尺⼨⼤⼩。
example:
>>>x=([[1],[2],[3]])
>>>()
([3,1])
>>>(3,4)
tensor([[1,1,1,1],
[2,2,2,2],
[3,3,3,3]])
>>>(-1,4)#-1meansnotchangingthesizeofthatdimension
tensor([[1,1,1,1],
[2,2,2,2],
[3,3,3,3]])
expand_as(other_tensor)→Tensor
等价于(other_())
>>>y=([[2,2],[3,3],[5,5]])
>>>print(())
([3,2])
>>>_as(y)
tensor([[2,2],
[3,3],
[4,4]])
()
这个功能类似expand()
主要还是看样例
batch_size=2
q_len=4
embedding_size=8
embedding=(1,q_len,q_len))#[1,4,4]
repeat_dims=[1]*()#[1,1,1]
repeat_dims[0]=batch_size#[2,1,1]
embedding=(*repeat_dim)#[b,4,4]
本文发布于:2022-11-26 10:07:24,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/24425.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |