关于神经网络理论,这是一个主要问题:
为什么我们必须规范化神经网络的输入?
我理解有时,例如当输入值是非数字时,必须执行某个转换,但是当我们有数字输入时?为什么数字必须在一定的间隔内?
如果数据未规范化会发生什么?
问题是关于PyTorch 网站上的数据加载教程。我不知道他们是怎么写的价值mean_pix
和std_pix
的在transforms.Normalize不用计算
我无法在 StackOverflow 上找到与此问题相关的任何解释。
import torch
from torchvision import transforms, datasets
data_transform = transforms.Compose([
transforms.RandomSizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
])
hymenoptera_dataset = datasets.ImageFolder(root='hymenoptera_data/train',
transform=data_transform)
dataset_loader = torch.utils.data.DataLoader(hymenoptera_dataset,
batch_size=4, shuffle=True,
num_workers=4)
Run Code Online (Sandbox Code Playgroud)
价值mean=[0.485,0.456, 0.406]
和std=[0.229, 0.224, 0.225]
对我来说并不明显。他们如何得到它们?为什么他们等于这些?