在Pytorch中使用样本权重(sample_weight)的正确方法


Posted in Python onAugust 17, 2019

step:

1.将标签转换为one-hot形式。

2.将每一个one-hot标签中的1改为预设样本权重的值

即可在Pytorch中使用样本权重。

eg:

对于单个样本:loss = - Q * log(P),如下:

P = [0.1,0.2,0.4,0.3]
Q = [0,0,1,0]
loss = -Q * np.log(P)

增加样本权重则为loss = - Q * log(P) *sample_weight

P = [0.1,0.2,0.4,0.3]
Q = [0,0,sample_weight,0]
loss_samle_weight = -Q * np.log(P)

在pytorch中示例程序

train_data = np.load(open('train_data.npy','rb'))
train_labels = []
for i in range(8):
  train_labels += [i] *100
train_labels = np.array(train_labels)
train_labels = to_categorical(train_labels).astype("float32")
sample_1 = [random.random() for i in range(len(train_data))]
for i in range(len(train_data)):
  floor = i / 100
  train_labels[i][floor] = sample_1[i]
train_data = torch.from_numpy(train_data) 
train_labels = torch.from_numpy(train_labels) 
dataset = dataf.TensorDataset(train_data,train_labels) 
trainloader = dataf.DataLoader(dataset, batch_size=batch_size, shuffle=True)

对应one-target的多分类交叉熵损失函数如下:

def my_loss(outputs, targets):
  
  output2 = outputs - torch.max(outputs, 1, True)[0]
 
 
  P = torch.exp(output2) / torch.sum(torch.exp(output2), 1,True) + 1e-10
 
 
  loss = -torch.mean(targets * torch.log(P))
 
 
  return loss

以上这篇在Pytorch中使用样本权重(sample_weight)的正确方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python自动调用IE打开某个网站的方法
Jun 03 Python
Python实现统计给定列表中指定数字出现次数的方法
Apr 11 Python
python实现linux下抓包并存库功能
Jul 18 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
详解Python中的内建函数,可迭代对象,迭代器
Apr 29 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
基于python判断目录或者文件代码实例
Nov 29 Python
Python tkinter和exe打包的方法
Feb 05 Python
Django正则URL匹配实现流程解析
Nov 13 Python
基于Python实现将列表数据生成折线图
Mar 23 Python
基于Python实现射击小游戏的制作
Apr 06 Python
python和anaconda的区别
May 06 Python
获取Pytorch中间某一层权重或者特征的例子
Aug 17 #Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 #Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 #Python
关于PyTorch源码解读之torchvision.models
Aug 17 #Python
django项目用higcharts统计最近七天文章点击量
Aug 17 #Python
Django对models里的objects的使用详解
Aug 17 #Python
python3.6中@property装饰器的使用方法示例
Aug 17 #Python
You might like
php利用cookie实现自动登录的方法
2014/12/10 PHP
PHP自定义错误用法示例
2016/09/28 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
PHP生成加减算法方式的验证码实例
2018/03/12 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
Mootools 1.2教程 输入过滤第一部分(数字)
2009/09/15 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
原生js实现中奖信息无间隙滚动效果
2017/01/18 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
AngularJS学习笔记之表单验证功能实例详解
2017/07/06 Javascript
jQuery中库的引用方法
2018/01/06 jQuery
理解Koa2中的async&await的用法
2018/02/05 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
vue获取验证码倒计时组件
2019/08/26 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
python3实现多线程聊天室
2018/12/12 Python
python读取文件名并改名字的实例
2019/01/07 Python
css3实现一款模仿iphone样式的注册表单
2013/03/20 HTML / CSS
美国乡村商店:Plow & Hearth
2016/09/12 全球购物
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
2014年幼儿园植树节活动方案
2014/03/02 职场文书
五一手机促销方案
2014/03/08 职场文书
继承权公证书范本
2015/01/23 职场文书
2015大学自主招生自荐信范文
2015/03/04 职场文书
终止劳动合同通知书
2015/04/16 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
利用Apache Common将java对象池化的问题
2022/06/16 Servers