처음 cnn을 본인 데이터에 적용 시키거나 변경을 시키다 보면 size mismatch 에러를 만나게 될 수 있다.(파이토치)
직접 파라미터 수를 계산 할 수도 있고, 꼼수를 부릴 수도 있다.
1. 계산 방법 (아래 링크 참조) - 비추천(이게 정석이고, 정말 좋은 자료이나 이 방법을 굳이 할 필요는 없다.)
https://seongkyun.github.io/study/2019/01/25/num_of_parameters/
2. 꿀팁
1) 그냥 아무 값이나 입력해서 에러를 띄운다.
2) size mismatch부분을 확인한다.
m1 : 4 X 19200
m2 : 1920 x 2
라고 되어있는 부분이 중요하다.
m1 : [a x b] -> [mini batch size x in features]
m2 : [c x d] -> [in features x out features]
m1이 앞 단계에서 넘어온 것이고, m2가 지금 에러가 난 부분이다.
위 에러에서 mini batch size가 4개이고, 하나당 19200개의 데이터가 담겨있다는 뜻이다.
행렬 곱에서 b=c 여야 하고, a x d 형태로 결과물이 나온다는걸 고려하면,
우리는 귀찮게 계산하는 것 보다는 그냥 해당 부분에 적당한 linear 등을 넣어서 에러를 내면 된다.(!)
b 부분이 넘어온 값이니, c의 1920을 19200으로 맞춰주면 된다.
'반치용 > 문제해결(trouble shooting)' 카테고리의 다른 글
[파이토치]윈도우에서 pycocotools 사용하는 방법 (0) | 2020.03.29 |
---|---|
CUDA out of memory error 문제 (0) | 2020.03.29 |
파이토치를 이용한 resnet 기반 대장 내시경 종양 여부 구분 시도 (0) | 2020.03.28 |
파이토치/토치비전 설치 관련 (2) | 2020.03.07 |
2020-02-29 기준 tensorflow 2를 위한 환경 세팅(2.1.0) (0) | 2020.02.29 |
댓글