728x90
반응형
PyTorch vision 모델 페이지에 가보면, "All pre-trained models expect input images normalized in the same way, i.e. mini-batches of 3-channel RGB images of shape (3 x H x W), where H and W are expected to be at least 224" 라는 내용을 볼 수 있다. 그 다음에 아래와 같은 코드를 볼 수 있을 것이다.
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
보다시피, mean과 std 값으로 뭔가 이상한 값들이 세팅되어 있다. 많은 사용자들이 이 값들을 쓰는 이유가 무엇인지 제대로 모르고 그냥 쓰고 있는데, 사실 이 값들은 많은 Vision 모델들의 pretraining에 사용된 ImageNet 데이터셋의 학습 시에 얻어낸 값들이다. ImageNet 데이터셋은 질 좋은 이미지들을 다량 포함하고 있기에 이런 데이터셋에서 얻어낸 값이라면 어떤 이미지 데이터 셋에서도 잘 작동할 것이라는 가정하에 이 값들을 기본 값으로 세팅해 놓은 것이다.
반응형
'AI > PyTorch' 카테고리의 다른 글
텐서에서 Top-K 결과를 받아오는 방법 (0) | 2023.10.26 |
---|---|
cuDNN benchmark 활성화를 통한 최적의 알고리즘 선택 (0) | 2023.10.14 |
Softmax 결과의 총합이 1 이하로 나오는 경우 (0) | 2022.07.18 |
Torch.mm과 Torch.matmul 차이점 (0) | 2022.03.16 |