강의

멘토링

커뮤니티

Inflearn Community Q&A

yun0106109971's profile image
yun0106109971

asked

Complete mastery of deep learning theory + PyTorch practice

[Practice] CV Project using a Custom CNN Model, ResNet, and VGGNet

[section 14 / [실습] 직접 만든 CNN 모델과 ResNet, VGGNet을 활용한 CV 프로젝트] transforms.Normalize 질문

Resolved

Written on

·

205

1

cifar10 데이터셋에 대하여 Normalize를 적용하는 이유가 궁금합니다.

  1. mean과 std 리스트에 들어있는 값의 의미가 무엇인가요?

  2. 이미 ToTensor()로 0~1값의 스케일링 된 데이터를, 표준화까지 적용하여 평균0, 분산 1로 만드는데 장점이 있는건가요??

normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])


def get_dataloaders():
    train_data = torchvision.datasets.CIFAR10(
        root="../.cache",
        train=True,
        download=True,
        transform=transforms.Compose([torchvision.transforms.ToTensor(), normalize]),
    )
딥러닝pytorchNLP컴퓨터-비전cnnrnntransformerllm

Answer 1

0

peterbyun969574님의 프로필 이미지
peterbyun969574
Instructor

안녕하세요!

좋은 질문 감사합니다!

mean과 std에 들어가있는 값들은 0~1 사이로 normalize (정규화)된 CIFAR 데이터셋의 각 채널별 평균과 표준편차 값들 입니다! 이미 계산되어 있는 값을 가져와서 사용한 것입니다.

저희는 0~1 사이로 CIFAR 데이터셋을 정규화한 후, 정규화된 데이터셋이 평균이 0이 되고 표준편차가 1이 되도록 standardize (표준화)하고 싶습니다. 따라서 (X - mean) / std 로 각 채널별로 표준화하는 것입니다!

 

스크린샷 2025-03-02 오후 3.04.56.png

 

yun0106109971's profile image
yun0106109971

asked

Ask a question