一般和transforms.ToTensor()搭配使用

作用就是先将输入归一化到(0,1)【transforms.ToTensor()】,再使用公式"(x-mean)/std",将每个元素分布到(-1,1)

   很多CV的代码中,是这样使用这一条语句的:

torchvision.transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

这一组参数是从ImageNet数据集中获得的

在 torchvision 笔记:ToTensor()_UQI-LIUWJ的博客-CSDN博客的代码基础上我们进行修改

ToTensor 中的代码:

from PIL import Image
from torchvision import transforms, utils
a=Image.open(b+'img/00000.jpg')
a

y=transforms.ToTensor()
a=y(a)
a
'''
tensor([[[0.9255, 0.9255, 0.9255,  ..., 0.9176, 0.9176, 0.9176],[0.9255, 0.9255, 0.9255,  ..., 0.9176, 0.9176, 0.9176],[0.9255, 0.9255, 0.9255,  ..., 0.9176, 0.9176, 0.9176],...,[0.7882, 0.7882, 0.7882,  ..., 0.7922, 0.7922, 0.7922],[0.7882, 0.7882, 0.7882,  ..., 0.7922, 0.7922, 0.7922],[0.7882, 0.7882, 0.7882,  ..., 0.7922, 0.7922, 0.7922]],[[0.9255, 0.9255, 0.9255,  ..., 0.9216, 0.9216, 0.9216],[0.9255, 0.9255, 0.9255,  ..., 0.9216, 0.9216, 0.9216],[0.9255, 0.9255, 0.9255,  ..., 0.9216, 0.9216, 0.9216],...,[0.7961, 0.7961, 0.7961,  ..., 0.7922, 0.7922, 0.7922],[0.7961, 0.7961, 0.7961,  ..., 0.7922, 0.7922, 0.7922],[0.7961, 0.7961, 0.7961,  ..., 0.7922, 0.7922, 0.7922]],[[0.9255, 0.9255, 0.9255,  ..., 0.9294, 0.9294, 0.9294],[0.9255, 0.9255, 0.9255,  ..., 0.9294, 0.9294, 0.9294],[0.9255, 0.9255, 0.9255,  ..., 0.9294, 0.9294, 0.9294],...,[0.7922, 0.7922, 0.7922,  ..., 0.8000, 0.8000, 0.8000],[0.7922, 0.7922, 0.7922,  ..., 0.8000, 0.8000, 0.8000],[0.7922, 0.7922, 0.7922,  ..., 0.8000, 0.8000, 0.8000]]])
'''

Normalize的代码

z=transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
a=z(a)
a
'''
tensor([[[1.9235, 1.9235, 1.9235,  ..., 1.8893, 1.8893, 1.8893],[1.9235, 1.9235, 1.9235,  ..., 1.8893, 1.8893, 1.8893],[1.9235, 1.9235, 1.9235,  ..., 1.8893, 1.8893, 1.8893],...,[1.3242, 1.3242, 1.3242,  ..., 1.3413, 1.3413, 1.3413],[1.3242, 1.3242, 1.3242,  ..., 1.3413, 1.3413, 1.3413],[1.3242, 1.3242, 1.3242,  ..., 1.3413, 1.3413, 1.3413]],[[2.0959, 2.0959, 2.0959,  ..., 2.0784, 2.0784, 2.0784],[2.0959, 2.0959, 2.0959,  ..., 2.0784, 2.0784, 2.0784],[2.0959, 2.0959, 2.0959,  ..., 2.0784, 2.0784, 2.0784],...,[1.5182, 1.5182, 1.5182,  ..., 1.5007, 1.5007, 1.5007],[1.5182, 1.5182, 1.5182,  ..., 1.5007, 1.5007, 1.5007],[1.5182, 1.5182, 1.5182,  ..., 1.5007, 1.5007, 1.5007]],[[2.3088, 2.3088, 2.3088,  ..., 2.3263, 2.3263, 2.3263],[2.3088, 2.3088, 2.3088,  ..., 2.3263, 2.3263, 2.3263],[2.3088, 2.3088, 2.3088,  ..., 2.3263, 2.3263, 2.3263],...,[1.7163, 1.7163, 1.7163,  ..., 1.7511, 1.7511, 1.7511],[1.7163, 1.7163, 1.7163,  ..., 1.7511, 1.7511, 1.7511],[1.7163, 1.7163, 1.7163,  ..., 1.7511, 1.7511, 1.7511]]])
'''

将tensor反变换回图片,则有

torchvision 笔记:transforms.Normalize()相关推荐

  1. torchvision 笔记:transforms.Compose()

    torchvision.transforms.Compose()类的主要作用是串联多个transforms列表里面的transform操作 比如,在torchvision 笔记:transforms. ...

  2. PyTorch学习笔记——图像处理(transforms.Normalize 归一化)

    PyTorch学习笔记--图像处理 transforms.Normalize 归一化 回顾 torchvision.ToTensor 归一化 transforms.Normalize 公式 回顾 to ...

  3. 对Tensor进行变换 class torchvision.transforms.Normalize(mean, std) 给定均值:(R,G,B) 方差:(R,G,B),将会把Tensor正则化

    对Tensor进行变换 class torchvision.transforms.Normalize(mean, std) 给定均值:(R,G,B) 方差:(R,G,B),将会把Tensor正则化.即 ...

  4. pytorch orchvision.transforms.Normalize

    API CLASS torchvision.transforms.Normalize(mean, std, inplace=False) input需要为(C,H,W),一般会用ToTensor()预 ...

  5. 使用transforms.Normalize((0.5,), (0.5,))异常报错“Process finished with exit code -1073741676 (0xC0000094)”

    目录 1 问题描述 2 EDA分析 3 解决方案 1 问题描述 今天在使用transforms.Normalize((0.5,), (0.5,))对MNIST数据集中的图像进行归一化时,程序执行到这里 ...

  6. transforms.ToTensor()与transforms.Normalize()函数解析

    1.transforms.ToTensor()作用 ToTensor()将shape为(H, W, C)的nump.ndarray或img转为shape为(C, H, W)的tensor,其将每一个数 ...

  7. 浅谈对transforms.ToTensor()和transforms.Normalize()函数的理解

    前言 在进行tensor图片数据进行视觉时,一般会进行预处理操作,这个时候就需要用到ToTensor()和Normalize()这两个函数. 提示:以下是本篇文章正文内容,下面案例可供参考 一.ToT ...

  8. 数据归一化处理transforms.Normalize()

    数据归一化处理transforms.Normalize() 1. 图像预处理Transforms(主要讲解数据标准化) 1.1 理解torchvision transforms属于torchvisio ...

  9. Pytorch下transforms.ToTensor(),transforms.Normalize()详解,及代码实现和复原

    一.在数据处理时,我们要经常用到transforms.ToTensor(),transforms.Normalize()语句,将图像数据转换为tensor并标准化到[-1,1]之间. 其计算过程为: ...

最新文章

  1. 如何在 CentOS 7 中安装或升级最新的内核
  2. physx选择显卡还是cpu_工控机如何选购cpu,工控机cpu选择盒装好还是散装好
  3. core 包的核心类JdbcTemplate
  4. leaflet加载离线地图教程以及下载离线地图瓦片工具
  5. MySQL中间件之ProxySQL(14):ProxySQL+PXC
  6. Ubuntu15.04如何添加163源
  7. 红帽企业版linux 7.3,红帽推企业Linux 7.3 新功能特性一览
  8. 【转载】通过金矿模型介绍动态规划 (动态规划入门)
  9. 鱼骨图分析法实际案例_会用“鱼骨图”的项目经理无难题
  10. go int 转切片_一文掌握GO语言实战技能(二)
  11. 深度学习《CNN架构续篇 - 学习率衰减》
  12. json串转成list
  13. python弹球游戏移动球拍_python pygame实现挡板弹球游戏的代码
  14. 专业级频谱测试软件,手机频谱仪测试软件
  15. SSM汽车租赁管理系统毕业设计源码052158
  16. ReactNative实现仿微信或者通讯录快速索引功能
  17. 苹果开发:开发证书都显示“此证书的签发者无效”的解决方法
  18. Android SDK 目录和作用的分析详解
  19. mongodb连接不上的问题Exception thrown during connection pool background maintenance task
  20. FlashDB移植与应用

热门文章

  1. 常见数据库的Connection URL
  2. 一次检验自己技术和耐力的碎片提取经历
  3. ARM WFI和WFE指令
  4. Linux、Windows进程间通信
  5. Acwing900. 整数划分[计数类dp]:完全背包解法
  6. Leetcode1701. 平均等待时间[C++题解]:模拟题
  7. mybatis 构造查询和联合子查询问题
  8. mysql oracle sql区别吗_mysql数据库的SQL语句和oracle的有什么区别?详细点
  9. android内存碎片化怎么处理,安卓越用越卡毛病有解了!ColorOS内存反碎片化引擎让手机久用不卡...
  10. git stage 暂存_什么是Git?下载和安装Git