PyTorch 普通卷积和空洞卷积实例

时间:2021-05-22

如下所示:

import numpy as npfrom torchvision.transforms import Compose, ToTensorfrom torch import nnimport torch.nn.init as initdef transform(): return Compose([ 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('standare conv:\n', out1.detach().numpy())print('dilated conv:\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.]]]])standare conv:[[[[ 63. 72. 81.][108. 117. 126.][153. 162. 171.]]]]dilated conv:[[[[117.]]]]

以上这篇PyTorch 普通卷积和空洞卷积实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章