pytorch做标准化利用transforms.Normalize(mean_vals, std_vals),其中常用数据集的均值方差有:

if 'coco' in args.dataset:mean_vals = [0.471, 0.448, 0.408]std_vals = [0.234, 0.239, 0.242]
elif 'imagenet' in args.dataset:mean_vals = [0.485, 0.456, 0.406]std_vals = [0.229, 0.224, 0.225]

那么自定义的数据集如何获取mean和std呢?

这里以imagenet为例介绍:

前面的(0.485,0.456,0.406)表示均值,分别对应的是RGB三个通道;后面的(0.229,0.224,0.225)则表示的是标准差,分别对应的是RGB三个通道

这上面的均值和标准差的值是ImageNet数据集计算出来的,所以很多人都使用它们,那么如何统计呢?统计所有图片的均值和方差,求出的一个均值得到,下面直接上代码,大家观察一下即可:

def get_mean_std(self, type, mean_std_path):"""计算数据集的均值和标准差:param type: 使用的是那个数据集的数据,有'train', 'test', 'testing':param mean_std_path: 计算出来的均值和标准差存储的文件:return: """# 这里的self.dataset[type]是数据集索引列表,使用的是pytorch,也可以修改直接读取路径即可,然后遍历num_imgs = len(self.dataset[type])for data in self.dataset[type]:img = data[0]for i in range(3):# 一个通道的均值和标准差self.means[i] += img[i, :, :].mean()self.stdevs[i] += img[i, :, :].std()self.means = np.asarray(self.means) / num_imgsself.stdevs = np.asarray(self.stdevs) / num_imgsprint("{} : normMean = {}".format(type, self.means))print("{} : normstdevs = {}".format(type, self.stdevs))# 将得到的均值和标准差写到文件中,之后就能够从中读取with open(mean_std_path, 'wb') as f:pickle.dump(self.means, f)pickle.dump(self.stdevs, f)print('pickle done')

pytorch图片数据归一化,通常传入transforms.Normalize(mean,std,inplace=False)中的mean和std是如何获取的?相关推荐

  1. PyTorch数据归一化处理:transforms.Normalize及计算图像数据集的均值和方差

    PyTorch数据归一化处理:transforms.Normalize及计算图像数据集的均值和方差 1.数据归一化处理:transforms.Normalize 1.1 理解torchvision 1 ...

  2. Python学习:图片数据归一化处理

    文章与视频资源多平台更新 微信公众号|知乎|B站|头条:AI研习图书馆 深度学习.大数据.IT编程知识与资源分享,欢迎关注,共同进步~ 1. 介绍 Python学习:在文件夹下,提取目录下所有图片,更 ...

  3. 基于Pytorch、Keras、Tensorflow的图片数据生成器搭建

    1. 前言 作为一个对三种深度学习框架(Tensorflow,Keras,Pytorch)刚刚完成入门学习的菜鸟,在实战的过程中,遇到了一些菜鸟常见问题,即图片数据加载与预处理.在刚刚接触深度学习的时 ...

  4. pytorch orchvision.transforms.Normalize

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

  5. 实战:掌握PyTorch图片分类的简明教程 | 附完整代码

    作者 | 小宋是呢 转载自CSDN博客 1.引文 深度学习的比赛中,图片分类是很常见的比赛,同时也是很难取得特别高名次的比赛,因为图片分类已经被大家研究的很透彻,一些开源的网络很容易取得高分.如果大家 ...

  6. 【小白学PyTorch】7.最新版本torchvision.transforms常用API翻译与讲解

    机器学习炼丹术]的学习笔记分享 <<小白学PyTorch>> 小白学PyTorch | 6 模型的构建访问遍历存储(附代码) 小白学PyTorch | 5 torchvisio ...

  7. PyTorch框架学习六——图像预处理transforms(二)

    PyTorch框架学习六--图像预处理transforms(二) (续)二.transforms的具体方法 4.图像变换 (1)尺寸变换:transforms.Resize() (2)标准化:tran ...

  8. 图片播放器的实现1——利用Image2LCD提取图片数据并显示

    以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 参考内容 (1)https://xiefor100.blog.csdn.net/article/details/71941527 (2) ...

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

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

最新文章

  1. UVA10763交换学生
  2. 格式字符串语法,摘取自JDK6
  3. secureCRT的安装及破解
  4. CSDN:Markdown extra grammar
  5. A - Tit for Tat CodeForces - 1516A
  6. 计算器软件C语言课程设计实验报告,c简单计算器实验报告_相关文章专题_写写帮文库...
  7. base | 文本处理方法(Ⅰ-2):正则表达式
  8. mac python安装pyqt5_pyqt5 mac os 安装
  9. java excel 导入oracle_java代码导入excel数据至oracle(poi方式)
  10. 08 域控 架构主机 转移_win2000域控迁移至win2008
  11. 简述linux的系统结构,Linux系统基础知识(一)
  12. [教程] 中断闪存或备份后如何修复 MTK 或 SPD 变砖
  13. 装系统弹出计算机丢失,重装系统时提示缺少硬盘驱动怎么解决
  14. 三年开发转行测试没人要
  15. Linux系统常用测试工具
  16. OpenHarmony,一路前行,为了奇迹
  17. 3D结构光摄像头深度算法
  18. 线性规划 - 数学建模
  19. networkx 判断两图是否同构 得到同构的节点映射
  20. 知识点索引:一元函数的极值

热门文章

  1. 今天发现的好几个PP文字,不敢独享,gaga
  2. 读书:梭罗的《瓦尔登湖》
  3. Web框架简介+第一个例子(博主萌新,哪里写的不好希望大家指出,谢谢)
  4. Javascript中的对象拷贝(对象复制/克隆)
  5. 2020 年百度之星程序设计大赛 - 初赛二
  6. 大学中计算机考查课不及格怎么办,大学体测不及格怎么办 有哪些补救方法
  7. Spark之functions
  8. IQA+不懂︱图像清洗:图像质量评估(评估指标、传统检测方法)
  9. @ 添加属性(属性注入)
  10. 架构师能力升级:掌握JVM科学调优