작성
·
632
0
선생님 안녕하세요,
위의 코드와 관련하여 질문이 있습니다. 만약 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. 이미지 크기 관련해서는 일반적으로 학습 이미지, 평가 이미지의 사이즈는 동일합니다. 하지만 다르게 하는 경우도 있습니다!
감사합니다.