计算pytorch标准化(Normalize)所需要数据集的均值和方差实例


Posted in Python onJanuary 15, 2020

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]

计算自己数据集图像像素的均值方差:

import numpy as np
import cv2
import random
 
# calculate means and std
train_txt_path = './train_val_list.txt'
 
CNum = 10000   # 挑选多少图片进行计算
 
img_h, img_w = 32, 32
imgs = np.zeros([img_w, img_h, 3, 1])
means, stdevs = [], []
 
with open(train_txt_path, 'r') as f:
  lines = f.readlines()
  random.shuffle(lines)  # shuffle , 随机挑选图片
 
  for i in tqdm_notebook(range(CNum)):
    img_path = os.path.join('./train', lines[i].rstrip().split()[0])
 
    img = cv2.imread(img_path)
    img = cv2.resize(img, (img_h, img_w))
    img = img[:, :, :, np.newaxis]
    
    imgs = np.concatenate((imgs, img), axis=3)
#     print(i)
 
imgs = imgs.astype(np.float32)/255.
 
 
for i in tqdm_notebook(range(3)):
  pixels = imgs[:,:,i,:].ravel() # 拉成一行
  means.append(np.mean(pixels))
  stdevs.append(np.std(pixels))
 
# cv2 读取的图像格式为BGR,PIL/Skimage读取到的都是RGB不用转
means.reverse() # BGR --> RGB
stdevs.reverse()
 
print("normMean = {}".format(means))
print("normStd = {}".format(stdevs))
print('transforms.Normalize(normMean = {}, normStd = {})'.format(means, stdevs))

以上这篇计算pytorch标准化(Normalize)所需要数据集的均值和方差实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python设置tmpfs来加速项目的教程
Apr 17 Python
Tornado高并发处理方法实例代码
Jan 15 Python
python3+PyQt5使用数据库窗口视图
Apr 24 Python
基于Django URL传参 FORM表单传数据 get post的用法实例
May 28 Python
python之Flask实现简单登录功能的示例代码
Dec 24 Python
详解Python的三种可变参数
May 08 Python
Python笔记之工厂模式
Nov 20 Python
Python 字节流,字符串,十六进制相互转换实例(binascii,bytes)
May 11 Python
pyecharts调整图例与各板块的位置间距实例
May 16 Python
python文件读取失败怎么处理
Jun 23 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
Github 使用python对copilot做些简单使用测试
Apr 14 Python
pytorch 图像中的数据预处理和批标准化实例
Jan 15 #Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 #Python
python实现删除列表中某个元素的3种方法
Jan 15 #Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 #Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 #Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 #Python
Pytorch模型转onnx模型实例
Jan 15 #Python
You might like
php empty函数 使用说明
2009/08/10 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
php实现html标签闭合检测与修复方法
2015/07/09 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
php生成word并下载代码实例
2019/03/15 PHP
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
jquery通过visible来判断标签是否显示或隐藏
2014/05/08 Javascript
使用基于Node.js的构建工具Grunt来发布ASP.NET MVC项目
2016/02/15 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
self.attachevent is not a function的解决方法
2017/04/04 Javascript
angular4自定义表单控件[(ngModel)]的实现
2018/11/23 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
深入理解JS异步编程-Promise
2019/06/03 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
2017/08/08 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
2019/08/24 Python
python 创建一维的0向量实例
2019/12/02 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
python如何使用代码运行助手
2020/07/03 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
印度在线杂货店:bigbasket
2018/08/23 全球购物
小学班干部竞选演讲稿
2014/04/24 职场文书
家庭贫困证明
2014/09/23 职场文书
离婚财产分配协议书
2014/10/21 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书