본문 바로가기
인공지능/pytorch

[AI] [pytorch] torch.nn.Conv2d 란?

by 도토리묵 :D 2022. 8. 22.

torch.nn.conv2d 란?

 

torch.nn.conv2d에 대해 공식홈페이지를 찾아보면 다음과 같이 나와있다.

그대로 해석 하면 여러개의 입력 평면으로 구성된 입력 신호에 대해 2D 컨볼루션 계층을 만든다는 의미다.

 

말이 어려운데 쉽게 설명하면 2차원 배열의 데이터 (보통은 이미지가 2차원 배열임) 에 컨볼루션을 적용하기 위한 계층을 만드는 메소드 이다.

1차원이나 3차원 데이터는 Conv1d, Conv3d 가 있다.

 

사용법 

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, 
dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)

 

해당 인자 값의 세부설명은 아래와 같다 (출처: pytorch 공홈)

  • in_channels (int) – 인풋 이미지의 채널
  • out_channels (int) – 출력 채널 수
  • kernel_size (int or tuple) – 커널 사이즈
  • stride (int or tuple, optional) – 필터를 옆으로 몇칸 이동할 것인지 Default: 1
  • padding (int , tuple or str , optional) – 패딩 값 Default: 0
  • padding_mode (string, optional) – 패딩 종류들 'zeros', 'reflect', 'replicate' or 'circular'. Default: 'zeros'
  • dilation (int or tuple, optional) – 커널 요소 사이의 간격 Default: 1
  • groups (int, optional) –입력 채널에서 출력 채널로 차단된 연결 수. Default: 1
  • bias (bool, optional) – 편향  Default: True

댓글