
314
2
fastai 애플리케이션 계층 이해하기
7.2
평균이
0
이고 표준편차가
1
임을 의미하는
된 입력 데이터는 모델 학습에 도움이 됩니다.
하지만 이미지 및 영상 처리 라이브러리는 대부분
0
에서
255
또는
0
에서
1
사이의 픽셀값을
사용하므로, 정규화 조건을 만족하지 못합니다.
데이터에서 배치 하나를 가져와서 채널 축을 제외한 모든 축값의 평균과 표준편차를 살펴봅니
다(채널 축의 색인 번호는
1
입니다 ).
>>> x,y = dls.one_batch()
>>> x.mean(dim=[0,2,3]),x.std(dim=[0,2,3])
(TensorImage([0.4842, 0.4711, 0.4511], device='cuda:5'),
TensorImage([0.2873, 0.2893, 0.3110], device='cuda:5'))
예상한 대로 평균과 표준편차는 정규화 조건을 만족하지 않습니다. 다행히
fastai
에서는
Noramlize
변형만 추가하면 데이터를 쉽게 정규화할 수 있습니다. 한 번에 미니배치 하나 단
위로 처리하므로 데이터블록의
batch
_
tfms
부분에 추가하면 됩니다. 인자로 원하는 평균과
표준편차를 지정해야 하지만,
fastai
는 미리 이미지넷의 표준 평균과 표준편차를 정의하여 제
공합니다 (
Normalize
에 통계 정보를 넘기지 ...