當前位置 主頁 > 網站技術 > 代碼類 > 最大化 縮小

    PyTorch 普通卷積和空洞卷積實例

    欄目:代碼類 時間:2020-01-07 18:04

    如下所示:

    import numpy as np
    from torchvision.transforms import Compose, ToTensor
    from torch import nn
    import torch.nn.init as init
    def 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 普通卷積和空洞卷積實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持IIS7站長之家。

在线观看中文字幕理论片