【Pytorch】nn.Module 자주 사용하는 모듈

7177 단어 Pytorch
nn.Module 자주 사용하는 모듈
  • nn.ReflectionPad2d()
  • nn.Conv2d()

  • 4
  • 블로그 참조
  • nn.ReflectionPad2d()
    ReflectionPad2d는paddingLayer입니다.padding의 방식은 여러 가지가 있는데 하나의 값을 지정할 수도 있고 불규칙한 방식일 수도 있습니다. 즉, 4원조를 제시할 수도 있습니다.
    input = torch.randn(64, 3, 220, 220) # input size
     
    # 4-tuple
    pad = nn.ReflectionPad2d((3, 3, 5, 5)) # laft, right, top, bottom
    output = pad(input) # size(64, 3, 230, 226)
     
    # int
    pad = nn.ReflectionPad2d(3)
    output = pad(input) # size(64, 3, 226, 226)
    

    출력 크기는 다음과 같이 계산됩니다.
    H o = H i + p a d d i n g T o p + p a d d i n g B o t t o m , W o = W i + p a d d i n g L e f t + p a d d i n g R i g h t Ho = Hi + paddingTop + paddingBottom, Wo = Wi + paddingLeft + paddingRight Ho=Hi+paddingTop+paddingBottom,Wo=Wi+paddingLeft+paddingRight
    nn.Conv2d()
    2차원 볼륨은 2차원 데이터를 처리할 수 있다nn.Conv2d(self, in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)) 매개 변수:\inchannel: 데이터를 입력하는 채널 수, 예를 들어 RGB 이미지 채널 수, 3;  out_channel: 출력 데이터의 채널 수, 이것은 모델에 따라 조정됩니다.  kennel_size: 볼륨 핵 크기로 int 또는tuple일 수 있습니다.kennel_size=2, 볼륨 크기 의미(2,2),kennelsize=(2,3), 볼륨 크기(2,3)를 의미하는 비정사각형 볼륨크기 유사,stride=2는 보폭의 상하좌우 스캐닝이 모두 2,stride=(2,3), 좌우 스캐닝의 보폭은 2,상하는 3임을 의미한다.\padding: 0 채우기
    import torch
    import torch.nn as nn
    
    x = torch.randn(10, 16, 30, 32) # batch, channel , height , width
    print(x.shape)
    m = nn.Conv2d(16, 33, (3, 2), (2,1))  # in_channel, out_channel ,kennel_size,stride
    print(m)
    y = m(x)
    print(y.shape)
    

    결과 출력:
    torch.Size([10, 16, 30, 32])
    Conv2d(16, 33, kernel_size=(3, 2), stride=(2, 1))
    torch.Size([10, 33, 14, 31])
    

    권적 계산 과정:h/w = (h/w - kennel_size + 2padding) / stride + 1x=([10,16,30,32]), 그 중에서 h=30, w=32, 권적핵의 길이는 각각 h:3, w:2이다.보폭에 대해서는 각각 h:2, w:1이다.padding 기본 0;h = (30 - 3 + 20) / 2 + 1 = 27 / 2 + 1 = 13 + 1 = 14 w = (32 - 2 + 2 * 0) / 1 + 1 = 30 / 1 + 1 = 30 + 1 = 31 batch = 10, out_channel=33 고: y=([10, 33, 14, 31])
    참조 블로그
    nn.ReflectionPad2d() nn.Conv2d 볼륨

    좋은 웹페이지 즐겨찾기