zoukankan      html  css  js  c++  java
  • PyTorch——图像预处理——标准化(一)

    图像标准化

    input:输入的图像像素值

    mean(input):输入图像像素的均值

    std(input):输入图像像素的标准差

    将原始数据映射到均值为0、标准差为1的分布上

    y = (x - mean)/σ :基于原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1

    为什么要标准化/归一化

    提升模型精度:

    标准化/归一化后,不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

    加速模型收敛:

    标准化/归一化后,最优解的寻优过程明显变得平缓,更容易正确的收敛到最优解。

    如下图所示:

    代码

     1 import torchvision.transforms as transforms
     2 from PIL import Image
     3 import numpy as np
     4 
     5 img_path = "./4.jpg"
     6 
     7 transform = transforms.Compose([
     8     # [0, 255] ——> [0, 1]
     9     transforms.ToTensor(),
    10     # ImageNet
    11     transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
    12     ])
    13 
    14 img = Image.open(img_path)
    15 # [H, W, C] ——> [C, H, W]
    16 image = transform(img)
    17 # tensor ——> numpy
    18 image = image.numpy()
    19 # [C, H, W] ——> [H, W, C]
    20 image = np.transpose(image, (1, 2, 0))
    21 print(image)
  • 相关阅读:
    3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件
    rem实现手机页面自动缩放
    Git 常用命令
    使用 canvas+JS绘制钟表
    JS 操作数组的方法
    Node.js Request方法
    兼容浏览器的点击事件
    ES6知识点
    上传项目到github上
    JavaScript 编码风格
  • 原文地址:https://www.cnblogs.com/timelesszxl/p/14573204.html
Copyright © 2011-2022 走看看