강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

yun0106109971 のプロフィール画像
yun0106109971

投稿した質問数

ディープラーニング理論+ PyTorch実務完全征服

[実習] 自作したCNNモデルとResNet、VGGNetを活用したCVプロジェクト

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

解決済みの質問

作成

·

206

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

回答 1

0

peterbyun969574님의 프로필 이미지
peterbyun969574
インストラクター

안녕하세요!

좋은 질문 감사합니다!

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

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

 

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

 

yun0106109971 のプロフィール画像
yun0106109971

投稿した質問数

質問する