본문 바로가기

일상

파이토치 함수 알아보기

import torch
import torch.nn as nn
nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2)

 

인풋, 커널 채널이 3개 (r,g,b) 이런식으로 깊이가 3

커널의 개수가 64개( 출력 채널이 64개)

커널의 사이즈가 11x11

4칸씩 이동

인풋에 2칸씩 패딩을 줌

 

인풋으로는 p x q x 3의 육면체가 들어오는데 패딩이 있으면 패딩을 붙여준다.

모델 안에 즉 11 x 11 x 3 의 육면체가있는데 이게 커널이 있다. 이게 64개가 있다.

 

한 커널당 (0패딩이 있으면 패딩을 붙인) 인풋으로 들어온 육면체를 커널 육면체가 stride만큼 움직이면서 합성곱을 해서 더 하는 방식으로 하나의 면을 만든다.

 

커널이 64개 있으니까 64개의 면이 생기고 i x j x 64의 육면체가 아웃풋으로 나옴

 

nn.ReLU(inplace=True)

 

 이거는 ReLu 함수 모델이다 0보다 작으면 0 0보다 크면 그 값을 출력하는 모델

 

inplace는 True일 경우 들어온 데이터에 덮어써서 그 데이터가 나온다

False면 데이터는 그대로 있고 새로 데이터를 만들어서 return 함

 

nn.MaxPool2d(kernel_size=2, stride=2)

 

MaxPool2d는 kernel size의 네모를 만들어서 stride만큼 움직이면서 그 네모 안에 최댓값을 return함

 

육면체가 들어오면 면을 쪼개서 그 면에서 네모를 만들어서 stride만큼 움직이면서 네모안 최댓값 return

 

keras의 Sequential을 써서 모델을 추가하고 fit으로 데이터 넣어주면 자동으로 가중치가 조절된다.

 

 

'일상' 카테고리의 다른 글

5개월 전 포기했던 RNN backpropagation 체인룰,,  (0) 2024.05.23
파이토치로 행렬 공부하기  (0) 2024.05.22
인공지능 공부하기  (0) 2024.05.21
pytorch vs tensorflow  (0) 2024.05.21
ollyDbg 설치 및 써보기  (0) 2024.03.20