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

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

vecum0814님의 프로필 이미지
vecum0814

작성한 질문수

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

datasets.py, models.py

transf 관련해서 질문이 있습니다!

작성

·

632

0

선생님 안녕하세요, 

transf = tr.Compose([tr.RandomCrop(32, padding = 4), tr.RandomHorizontalFlip(), tr.ToTensor(),
tr.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010))])

위의 코드와 관련하여 질문이 있습니다. 만약 trainmode가 train으로 설정되어 있다면, 위의 transform으로 데이터 전처리를 해주는데, tr.RandomCrop(32, padding = 4)의 의도가 궁금합니다.

테스트용 이미지에 우선 zero padding을 4개씩 이미지 가장자리에 둘러주고 그런 다음에 32x32의 이미지로 잘라낸다는 의미인가요? 감사합니다!

 

그리고 기본적인 질문인데요, train시에 들어가는 이미지의 size와 validation & test시에 들어가는 이미지의 size는 동일해야 되는것이 맞죠?

 

좋은 주말 되시길 바랍니다!

 

 

답변 1

0

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

안녕하세요.

 

질문을 3가지 주셔서 나눠서 답변드리겠습니다!

 

1. tr.RandomCrop(32, padding = 4) 는 데이터 증식입니다. 학습 중 과적합을 방지하기 위한 정규화 기술 중 하나 입니다. 즉, 의도는 과적합을 피하기 위함입니다 :)

2. 크롭핑은 테스트셋 전처리에 포함되지 않습니다. 강의에서 언급했듯이 평가용이므로 정규화 기술을 사용하지 않습니다! 메카니즘에 대해서는 정확히 이해하고 계십니다 :) 4겹 패딩 후 그 안에서 32x32 이미지를 뽑아냅니다.

3. 이미지 크기 관련해서는 일반적으로 학습 이미지, 평가 이미지의 사이즈는 동일합니다. 하지만 다르게 하는 경우도 있습니다!

 

감사합니다.

vecum0814님의 프로필 이미지
vecum0814

작성한 질문수

질문하기