计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
作者:菜鸟川 发布时间:2022-08-24 22:34:00
标签:pytorch,标准化,数据集,均值,方差
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))
来源:https://blog.csdn.net/weixin_38533896/article/details/85951903


猜你喜欢
- 每点击一次按钮,弹出一个对话框(子窗口),同时开启一个子线程来执行任务并更新对话框内容,关闭对话框则关闭对应子线程1. 建立一个简单的主界面
- 页面置换算法:本质是为了让有限内存能满足无线进程。先说明一下处理缺页错误的过程:分页硬件在通过页表转换地址时会注意到无效位被设置,从而陷入操
- import urllib2import jsonimport stringurl ='http://m.weather.com.c
- 一、为表创建自增长自段有两种,一种是不同的表使用各自的Sequence,方法如下: 1、在Oracle sequence首先创建sequen
- 一、什么是凯撒密码“在密码学中,恺撒密码(英语:Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最
- 条件查询范围查询模糊查询条件查询all()返回全部结果集filter(**kwargs)返回满足参数定义的结果集 例如Entry.objec
- 前期准备及前情回顾#对于一维向量用np.arange生成以元组形式输出从0开始的数组([0, 1, 2, 3, 4, 5, 6, 7, 8,
- 链表的反转是一个很常见、很基础的数据结构题,输入一个单向链表,输出逆序反转后的链表,如图:上面的链表转换成下面的链表。实现链表反转有两种方式
- openpyxl特点openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容
- 首先我们的目标是这样子的:那么他有什么成分呢?有圣诞树的本体、大小蝴蝶结、星星、圣诞帽和袜子。首先我们来画圣诞树的本体。1. 圣诞树的本体圣
- 学完了net/http和fasthttp两个HTTP协议接口的客户端实现,接下来就要开始Server的开发,不学不知道一学吓一跳,居然这两个
- 1.在查询分析器理启动或停止SQL Agent服务 启动 use master go xp_cmdshell
- 用扩展名判断文件格式非常简单,但是有可能是错误的。 jpeg文件有固定的文件头,其文件头的格式如下:Start Marker | JFIF
- 在python中,通常通过dict和zip组合来构建键值对。比如:aid = [i for i in range(10)]name = [[
- 关于并发、并行、同步阻塞、异步非阻塞、线程、进程、协程等这些概念,单纯通过文字恐怕很难有比较深刻的理解,本文就通过代码一步步实现这些并发和异
- 介绍Silk是Django框架的实时分析和检查工具。源代码名称:django-silk源代码网址: http://www.git
- 如下所示:一. visualize.pyfrom graphviz import Digraphimport torchfrom torch
- A 定义数组有两种方式:DIM和REDIM。DIM定义的是固定个数、数据类型的数组;而REDIM则不同,它可以定义不同类型的数据,也可以定义
- 本文主要是利用Python的第三方库Pillow,实现单通道灰度图像的颜色翻转功能。# -*- encoding:utf-8 -*-impo
- vue router路由嵌套不显示问题的解决方法,具体内容如下路由嵌套,vue2.0 router中嵌套路由不成功,如何解决?我先说下我的需