Layer Output 계산 사이트

박요셉·2023년 5월 29일
0

사이트 소개

http://layer-calc.com/

사용하게 된 배경

논문 구현하면서 제일 머리 아픈 부분은 코드도 있겠지만,
그 전에 먼저 padding 계산일 것이다.

물론 인터넷 코드를 보며 padding을 보는 것도 좋지만,
나는 보통 직접 계산하며 맞춰보는 것을 좋아한다.
지금 하는 논문들이야 있겠지만 언젠가 없는 코드도 만들어야 할테니

그러다보니 논문 구현(사실 이건 인터넷 코드 도움을 많이 받는다)의 상당한 시간이 output size 계산에 들어간다.

기본적 output 계산식은 다음과 같다.
Convolutional Layer의 경우

output=widthfilter+2paddingstride+1output = \frac{width-filter+2*padding}{stride}+1

이다.
간단한 공식이지만 처음에 소숫점이 나와서 의문이었다.
예를 들어, 224x224를 7x7/stride 2/padding 3로 해보자.

2247+62+1=112.5?\frac{224-7+6}{2} + 1 = 112.5?

그러나 112가 된다.

이는 가장 오른쪽과 가장 아래에 있는 데이터는 사용되지 않기 때문이다.

출처 및 참고글 : https://woochan-autobiography.tistory.com/884

여튼, 이렇게 하나하나 계산하면 참 끝도 없다.
계산식을 이해하고 있다면 굳이 이렇게 노가다를 하며 체득할 필요가 없다..고 생각했다.
예전에야 몰랐으니.. 그렇지만 이제는 아니까 자동화 도구를 써야겠다.

사용법

정말 간단하다.

먼저 input size를 입력한다.

그리고 layer를 추가하면 된다.. 끝.

가끔 오류가 나서 2번씩 추가될 때가 있는데 그냥 껐다가 다시 키면 된다.

너무 사랑스러운 웹앱이다.

출처는 테디노트님이다.

Reference

[1] https://woochan-autobiography.tistory.com/88
[2] https://teddylee777.github.io/pytorch/conv2d-output-size-계산법/

profile
개발 폐관수련중, ML, DL 무림 초보

0개의 댓글