Skip to content
This repository has been archived by the owner on Oct 19, 2023. It is now read-only.

안녕하세요. 혹시 FashionMNIST의 Normalize 과정에서 넣는 mean, std값은 어떻게 결정한 것인지요? #26

Open
PeterKim1 opened this issue Jun 25, 2020 · 1 comment

Comments

@PeterKim1
Copy link

안녕하세요? 해당 도서로 공부하고 있는 대학원생입니다.

다름이 아니고, 4, 5장 예제로 FashionMNIST를 사용하고 계신데, torchvision의 transforms를 이용하시는 과정에서 사용된

transforms.Normalize((0.1307,), (0.3081,))은 어떻게 결정한 것인지 궁금합니다.

이것도 모델을 완성하는 사람의 노하우를 통해서 결정하는 것인가요?

`transform = transforms.Compose([
transforms.ToTensor()
])

dataset = torchvision.datasets.FashionMNIST(root = './.data', train = True,
download = True, transform = transform)

FashionMNIST_mean = dataset.data.numpy().mean(axis = (0, 1, 2))
print(FashionMNIST_mean / 255)
FashionMNIST_std = dataset.data.numpy().std(axis = (0, 1, 2))
print(FashionMNIST_std / 255)
`

다음과 같은 코드를 통해 실제 FashionMNIST dataset 6만건에 대한 mean 값과 std 값을 구해보았는데,

mean의 경우 0.2860, std의 경우 0.3530 정도가 나와서요... 원래 이 값을 통해서 작업을 해야 하는게 아닌가요..???

저도 지금 처음 공부하는 입장이라 자세히 알지 못해서 이렇게 여쭈어봅니다.

혹여나 자세히 아시는 다른분이 계시다면 알려주시면 감사하겠습니다 ㅠㅠ

@wldyd920
Copy link

위에 쓰여진 Normalize의 mean과 std는 MNIST기준으로 계산한 것으로 보여집니다. 구해주신 mean과 std 잘 쓰겠습니다 ^^ 내공 냠냠

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants