pytorch官方已经提供了具体one-hot函数,可以直接使用

from torch.nn.functional import one_hotresult = one_hot(data,num_class)

首先介绍下,one_hot可以运用在当调用损失函数时,所放入数据尺寸不等的时候

例如:

raise ValueError("Target size ({}) must be the same as input size    ({})".format(target.size(), input.size()))

ValueError: Target size (torch.Size([2, 256, 256])) must be the same as input size (torch.Size([2, 2, 256, 256]))

可以看到上面输入的预测是一个[2, 2, 256, 256] 的tensor(分别是nchw,即batch_size, channels, height, width)

而label的则是[2, 256, 256] ,缺少了通道数(因为label是单通道)

因此可以使用one_hot进行转换,将tensor数据直接放入one_hot中的第一个参数的位置,因为只有2类,所以num_class=2

from torch.nn.functional import one_hotresult = one_hot(label,2)

但直接放有时会遇到数据类型的问题,由于one_hot只接受int类型,所以若label数据是float类型,需要先将类型转换为int

label = label.to(dtype=torch.int64)

然后再放进one_hot

最后,由于模型的bias比较常为float类型,所以直接把输出的one_hot放进去会报数据类型错误

,因此在one_hot输出后,还需要再转换为float类型

one_hot_output = one_hot_output.type(torch.float32)

最后,把one_hot输出和pred放进计算loss的函数进行计算

最新文章

  1. 再论JavaScript原型继承和对象继承
  2. java写类似百度统计_资讯 | 与百度统计功能类似的产品—360分析系统
  3. 【5月19日】 开源论文代码分享 分割、姿势预测,目标检测
  4. CVPR!你凭什么收录我3篇论文!?
  5. PHP参数会被用作对象名
  6. django 1.8 官方文档翻译: 3-4-2 内建显示视图
  7. 主席树有关的一些题目(持续更新)
  8. 【牛客刷题记录】2021-03-10
  9. python图像处理教程_Python基于Tensor FLow的图像处理操作详解
  10. Python清华源或豆瓣源安装包
  11. jQuery事件绑定函数:on()与bind()的差别
  12. MariaDB Audit  Statistics
  13. PowerDesigner 表格导出为excel
  14. 全日制计算机大专学校有哪些科目,全日制大专报名_实时汇总
  15. python LDA实践入门学习
  16. 学习手记——技术博文汇总(持续更新)
  17. python数值类型和序列类型_数值类型和序列类型(python)
  18. brace源码改造实现跨服务器监控-zjs
  19. Linux命令行安装图形化界面
  20. Android WiFi开发总结

热门文章

  1. Linux 各种安装包
  2. 作为一个技术Leader,要如何去提升团队的技术氛围
  3. Linux主机定期打补丁修复漏洞
  4. 列举三种强制类型转换
  5. 微积分的本质(七):导数和极限的定义、洛必达法则
  6. 网站被黑,通过百度/搜狗等搜索关键词访问跳转到其他网站怎么办?
  7. 2021年三季度中国食品加工行业A股上市企业营收排行榜:双汇发展再度蝉联榜单TOP1,4家企业新上榜(附热榜TOP19详单)
  8. 纯css实现太极阴阳鱼动画
  9. 用深度学习做了下中国股市预测,结果是...
  10. 管理是科学还是艺术呢?-----行动力