PyTorch 普通卷积和空洞卷积实例
如下所示:
importnumpyasnp fromtorchvision.transformsimportCompose,ToTensor fromtorchimportnn importtorch.nn.initasinit deftransform(): returnCompose([ ToTensor(), #Normalize((12,12,12),std=(1,1,1)), ]) arr=range(1,26) arr=np.reshape(arr,[5,5]) arr=np.expand_dims(arr,2) arr=arr.astype(np.float32) #arr=arr.repeat(3,2) print(arr.shape) arr=transform()(arr) arr=arr.unsqueeze(0) print(arr) conv1=nn.Conv2d(1,1,3,stride=1,bias=False,dilation=1)#普通卷积 conv2=nn.Conv2d(1,1,3,stride=1,bias=False,dilation=2)#dilation就是空洞率,即间隔 init.constant_(conv1.weight,1) init.constant_(conv2.weight,1) out1=conv1(arr) out2=conv2(arr) print('standareconv:\n',out1.detach().numpy()) print('dilatedconv:\n',out2.detach().numpy())
输出:
(5,5,1) tensor([[[[1.,2.,3.,4.,5.], [6.,7.,8.,9.,10.], [11.,12.,13.,14.,15.], [16.,17.,18.,19.,20.], [21.,22.,23.,24.,25.]]]]) standareconv: [[[[63.72.81.] [108.117.126.] [153.162.171.]]]] dilatedconv: [[[[117.]]]]
以上这篇PyTorch普通卷积和空洞卷积实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。