时间:2021-05-23
1.torch.expand
函数返回张量在某一个维度扩展之后的张量,就是将张量广播到新形状。函数对返回的张量不会分配新内存,即在原始张量上返回只读视图,返回的张量内存是不连续的。类似于numpy中的broadcast_to函数的作用。如果希望张量内存连续,可以调用contiguous函数。
例子:
import torchx = torch.tensor([1, 2, 3, 4])xnew = x.expand(2, 4)print(xnew)输出:
tensor([[1, 2, 3, 4],
[1, 2, 3, 4]])
2.torch.repeat
torch.repeat用法类似np.tile,就是将原矩阵横向、纵向地复制。与torch.expand不同的是torch.repeat返回的张量在内存中是连续的。
例子1:
将张量横向的复制
import torchx = torch.tensor([1, 2, 3])xnew = x.repeat(1,3)print(xnew)输出:
tensor([[1, 2, 3, 1, 2, 3, 1, 2, 3]])
例子2:
将张量纵向的复制
import torchx = torch.tensor([1, 2, 3])xnew = x.repeat(3,1)print(xnew)输出:
tensor([[1, 2, 3],
[1, 2, 3],
[1, 2, 3]])
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在使用PyTorch做实验时经常会用到生成随机数Tensor的方法,比如:torch.rand()torch.randn()torch.normal()torc
我就废话不多说了,大家还是直接看代码吧~b=torch.zeros((3,2,6,6))a=torch.zeros((3,2,1,1))a.expand_as(
pytorch报错:RuntimeError:ExpectedobjectoftypeVariable[torch.LongTensor]butfoundtyp
PyTorch是Torch7团队开发的,从它的名字就可以看出,其与Torch的不同之处在于PyTorch使用了Python作为开发语言。Pythonfirst是
pytorch中的权值初始化官方论坛对weight-initilzation的讨论torch.nn.Module.apply(fn)torch.nn.Modul