pytorch masked_fill报错的解决
如下所示:
importtorch.nn.functionalasF importnumpyasnp a=torch.Tensor([1,2,3,4]) a=a.masked_fill(mask=torch.ByteTensor([1,1,0,0]),value=-np.inf) print(a) b=F.softmax(a) print(b)
tensor([-inf,-inf,3.,4.])
d:/pycharmdaima/star-transformer/ceshi.py:8:UserWarning:Implicitdimensionchoiceforsoftmaxhasbeendeprecated.Change
thecalltoincludedim=Xasanargument.
b=F.softmax(a)
tensor([0.0000,0.0000,0.2689,0.7311])
容易报错:
ExpectedobjectofscalartypeBytebutgotscalartypeLongforargument#2'mask'
原因,
mask=torch.LongTensor()
解决方法:
mask=torch.ByteTensor()
在mask值为1的位置处用value填充。mask的元素个数需和本tensor相同,但尺寸可以不同
以上这篇pytorchmasked_fill报错的解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。