先貼一段使用代碼:
from torchvision import models, transforms
# 遷移學習,預訓練模型
net = models.resnet18(pretrained=True)
# 標準化
normalize = transforms.Normalize(
mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225]
)
# 數(shù)據(jù)轉換
image_transform = transforms.Compose([
# 將輸入圖片resize成統(tǒng)一尺寸
transforms.Resize([224, 224]),
# 將PIL Image或numpy.ndarray轉換為tensor,并除255歸一化到[0,1]之間
transforms.ToTensor(),
# 標準化處理-->轉換為標準正太分布,使模型更容易收斂
normalize
])
transforms.Normalize(mean, std) 的計算公式:
input[channel] = (input[channel] - mean[channel]) / std[channel]
Normalize() 函數(shù)的作用是將數(shù)據(jù)轉換為標準正太分布昆汹,使模型更容易收斂。
PyTorch 中我們經(jīng)乘馄牵看到 mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]
涡相,是從 ImageNet 數(shù)據(jù)集的數(shù)百萬張圖片中隨機抽樣計算得到的刹勃。