본문 바로가기

PYTHON/PYTORCH

[파이토치] nn.Conv2d 함수 관련

 

 

 

파이토치에서는 convolution 관련 함수를 제공하고 있다.

 

  • in_channels (int) : input 이미지의 channel 을 입력한다.
  • out_channels (int) : output 이미지의 channel을 입력한다.
  • kernel_size (int or tuple) : convolution 을 진행할 때 사용할 kernel을 정의한다.
  • stride (int or tuple) : convolution을 진행할 때 얼마만큼의 stride를 진행할 것인지 정의한다. 기본값은 1
  • padding (int or tuple) : 제로패딩을 어느정도 줄 것인지 결정한다. 기본값은 0
  • padding_mode (String) : 어떤 패딩을 추가시킬지 결정한다. 기본값은 zeros이고 reflect, replicate, circular가 있음
  • dilation (int or tuple) : kernel element 사이에 얼마만큼의 공백을 줄지 결정한다. 기본값은 1
  • groups (int) : Number of blocked connections from input channels to output channels. Default 1
  • bias (bool) : if True, adds a learnable bias to the output. Default True

 

 

 

 

Sample code

>>> # With square kernels and equal stride
>>> m = nn.Conv2d(16, 33, 3, stride=2)
>>> # non-square kernels and unequal stride and with padding
>>> m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2))
>>> # non-square kernels and unequal stride and with padding and dilation
>>> m = nn.Conv2d(16, 33, (3, 5), stride=(2, 1), padding=(4, 2), dilation=(3, 1))
>>> input = torch.randn(20, 16, 50, 100)
>>> output = m(input)

 

 

https://pytorch.org/docs/stable/nn.html?highlight=conv2d#torch.nn.Conv2d

 

torch.nn — PyTorch master documentation

Shortcuts

pytorch.org