pytorch标签onehot编码_pytorch将标签转为onehot
由于想多分类中使用Diceloss,所以需要将[0,1,2,..N]类型的标签转化为onehot类型。
1、在cpu上处理
input数据类型: torch.LongTensor()
数据形状:[bs, 1, *] 可为2D或3D数据
def make_one_hot(input, num_classes):
"""Convert class index tensor to one hot encoding tensor.
Args:
input: A tensor of shape [bs, 1, *]
num_classes: An int of number of class
Returns:
A tensor of shape [bs, num_classes, *]
"""
shape = np.array(input.shape)
shape[1] = num_classes
shape = tuple(shape)
result = torch.zeros(shape)
result = result.scatter_(1, input.cpu(), 1)
return result
2、在GPU上处理
input数据类型: torch.LongTensor().cuda()
数据形状:[bs, 1, *] 可为2D或3D数据
def make_one_hot(input, num_classes):
"""Convert class index tensor to one hot encoding tensor.
Args:
input: A tensor of shape [bs, 1, *]
num_classes: An int of number of class
Returns:
A tensor of shape [bs, num_classes, *]
"""
shape = np.array(input.shape)
shape[1] = num_classes
shape = tuple(shape)
result = torch.zeros(shape).cuda()
result = result.scatter_(1, input, 1)
return result
3、温馨提示
1、FloatTensor转化为LongTensor:
# 此时的输入label为FloatTensor,可在cuda,也可是cpu
label_long = label.long()
2、 Tensor增加一个维度
label_onehot = label_onehot.unsqueeze(1) #在第一维增加一个维度
3、多分类交叉熵是不需要将标签转为onehot的
详情请查看 https://blog.csdn.net/longshaonihaoa/article/details/105253553
4、最近版pytorch有直接的转化为onehot的代码,了解之后更新。
pytorch标签onehot编码_pytorch将标签转为onehot相关推荐
- pytorch标签onehot编码_pytorch实现onehot编码转为普通label标签
pytorch实现onehot编码转为普通label标签 label转onehot的很多,但是onehot转label的有点难找,所以就只能自己实现以下,用的topk函数,不知道有没有更好的实现 on ...
- [数据预处理] onehot编码:是什么,为什么,怎么样
[数据预处理] onehot编码:是什么,为什么,怎么样 文章目录 [数据预处理] onehot编码:是什么,为什么,怎么样 什么是onehot编码 为什么要进行onehot编码 对labels进行o ...
- 机器学习之——什么是Onehot编码?
What? 什么是Onehot编码? onehot编码又叫独热编码,其为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效. Oneh ...
- 深度学习笔记(十二)---One-hot编码
在学习语义分割过程中,最后的逐像素分类网络中,对像素进行分类时使用了one-hot编码,这也是现分类任务中常用的一种分类方式.那么什么是one-hot编码呢?为什么使用One-hot呢? One-ho ...
- 实现对文本的简单one-hot编码
one-hot编码是将标记转换为向量的最常用.最基本方法.下面分别讲讲字符级的one-hot编码和单词级的one-hot编码. 单词级的one-hot编码 import numpy as npsamp ...
- 将标签进行One-hot编码
在利用机器学习或者深度学习解决分类问题时,我们需要将标签进行编码,有时也需要将离散的自变量进行分类编码,特别是做神经网络或回归预测时,对离散的自变量也进行One-hot编码扩维是一种很好办法,例如我们 ...
- Python将单一数字标签进行one-hot编码
在对分类神经网络进行训练时,涉及到标签的设置,分为纯数字类及one-hot类,后者采用的比较多,因此涉及到如何进行标签的转换,如标签([[1],[2],[3]])需要转换成([[1,0,0],[0,1 ...
- PyTorch之对类别张量进行one-hot编码
PyTorch之对类别张量进行one-hot编码 本文已授权极市平台, 并首发于极市平台公众号. 未经允许不得二次转载. 原始文档:https://www.yuque.com/lart/ugkv9f/ ...
- pytorch炼金术-One-Hot 编码
One-Hot 编码 1. F.one_hot pytorch 现在自带的将标签转成one-hot编码方法 import torch.nn.functional as F import torchx= ...
- OneHotEncoder独热编码和 LabelEncoder标签编码——机器学习
学习sklearn和kagggle时遇到的问题,什么是独热编码?为什么要用独热编码?什么情况下可以用独热编码?以及和其他几种编码方式的区别. 首先了解机器学习中的特征类别:连续型特征和离散型特征 拿到 ...
最新文章
- 记录一款好用的JS插件,artDialog中国人自己写的插件
- kint 一个强大的php调试助手
- 集合与集合取笛卡尔积
- php cdi_涉及CDI和JSF的过期对话的定制错误页面
- 图像处理中的通信原理——冈萨雷斯读书笔记(三)
- php微信网页开发实现自动登录注册功能实例
- 蓝桥杯 ADV-68算法提高 企业奖金发放
- 氢离子浓度指数(ph值)
- 如何商业智能平台BI的成本
- 用C#实现***程序
- Linux中如何判断一个另外进程是否活着
- mysql备份的 三种方式
- CPU /磁盘I/O /内存
- 上海财经应用统计考python_20上财应用统计415分经验帖(初试第一)
- RGB 透明度 对应代码
- [好文推荐] 给年轻程序员的8条建议
- 2021年美容师(初级)免费试题及美容师(初级)考试试卷
- java mail 使用:exchange邮箱
- 在ubuntu用wine安装微信 并解决无法输入文字的问题 ubuntu完美安装微信
- h5课件制作_一款专业的HTML5课件制作工具:炫课