인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

haha583님의 프로필 이미지
haha583

작성한 질문수

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

업데이트를 할까? 말까? - 모델 동결(Model Freezing)

[코드 오류 질문] 7.모델 프리징 코드 관련 질문입니다.

작성

·

374

1

안녕하세요. 호영님!

 

7. 모델 프리징을 공부하던중 오류가 생겨서 질문드립니다.

프리징된 사전학습 모델을 이용한 학습 부분에서 아래와 같이 중간 단계에 차원 오류가 발생합니다.

어떻게 해결해야할지 어렵습니다.

확인해보시고 답변해주실 수 있으실까요?

감사합니다!

답변 2

0

haha583님의 프로필 이미지
haha583
질문자

답변 감사드립니다!!

0

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

안녕하세요. haha583님!

 

오류 제보 감사드립니다. 중요한 내용 질문 주셨습니다 :)

기존 AlexNet은 ImageNet 데이터를 이용하여 사전학습 된 모델입니다. 따라서 ImageNet(e.g. 244x244) 데이터 사이즈에 맞게 모델의 첫번 째 합성곱 층에서 커널의 크기(11)와 stride(4)를 크게 사용하여 피쳐맵의 사이즈가 많이 줄어 듭니다. 따라서 CIFAR10(32x32) 이미지의 크기가 상대적으로 매우 작아서 원래 모델에 주입할 경우 피쳐맵의 크기가 0이 되는 현상이 발생됩니다.(256x0x0)

 

이러한 문제를 해결하기 위해 보통 첫번 째 합성곱 층의 커널의 크기, stride를 조정하여 원래보다 피쳐맵의 크기가 덜 줄어들게 해줍니다. 따라서 5번 코드창에 다음을 추가해 주시면 문제가 해결됩니다. 

model.features[0] = nn.Conv2d(3, 64, kernel_size=5, stride=1)
 
 
 
코드는 수정하여 다시 업로드 하였습니다.
감사합니다!!
haha583님의 프로필 이미지
haha583

작성한 질문수

질문하기