only batches of spatial targets supported (3D tensors) but got targets of dimension

这篇具有很好参考价值的文章主要介绍了only batches of spatial targets supported (3D tensors) but got targets of dimension。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题产生的原因是使用nn.CrossEntropyLoss()来计算损失的时候,target的维度超过4

import torch
import torch.nn as nn

logit = torch.ones(size=(4, 32, 256, 256))  # b,c,h,w
target = torch.ones(size=(4, 1, 256, 256))

criterion = nn.CrossEntropyLoss()
loss = criterion(logit, target)

only batches of spatial targets supported (3D tensors) but got targets of dimension

如实target中的C不是1,则可以:

import torch
import torch.nn as nn

logit = torch.ones(size=(4, 32, 256, 256))  # b,c,h,w
target = torch.ones(size=(4, 2, 256, 256))

criterion = nn.CrossEntropyLoss()
losses = 0
for i in range(2):
    loss = criterion(logit, target[:, i, ...].long())
    losses += loss

 可以看到代码里面有个.long(),如果不用的话则会报错:

RuntimeError: expected scalar type Long but found Float文章来源地址https://www.toymoban.com/news/detail-508363.html

到了这里,关于only batches of spatial targets supported (3D tensors) but got targets of dimension的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录解决RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 27 but got size

    在做目标检测服务过程中,将yolov7模型通过flask打包成预测服务API,此次训练的图像输入大小是1280,输入预测图片是如果图像大于1280则预测成功,小于1280则报RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 27 but got size。 由于只有小图片预测报错,猜测是图像处理

    2024年02月11日
    浏览(42)
  • Python执行selenium报错This version of ChromeDriver only supports Chrome version并配置环境变量

    1.This version of ChromeDriver only supports Chrome version 这个报错的意思是chrome驱动的版本不匹配,所以需要查看自己的chrome的版本,再根据版本下载对应的chromedriver.exe,具体操作步骤如下 第一步查看chrome的版本: 第二步下载对应的chromedriver.exe: http://chromedriver.storage.googleapis.com/ind

    2024年02月16日
    浏览(49)
  • python/selenium中msedgedriver版本自动更新,解决“This version of MSEdgeDriver only supports MSEdge version 100“

    目录 前言 一、如何识别Edge浏览器的版本? 二、自动更新代码 1.引入库 2.构造解压文件函数 3.更新msedgedriver文件

    2024年02月03日
    浏览(71)
  • 张量(Tensor)维度尺寸对不齐(Expected size xx but got size xx for tensor)

    本文以 U-Net 举例,演示如何解决 张量(Tensor)维度尺寸对不齐 的问题 U-Net 的网络架构可以参考这篇文章:U-Net原理分析与代码解读 这是本文演示所用的 U-Net代码 : 假设本文输入的图像是 600乘以400像素 的尺寸,那么对于本文U-Net代码所需的 512乘以512像素 的输入是肯定 不匹配

    2024年02月02日
    浏览(53)
  • selenium执行出现异常,SessionNotCreatedException ChromeDriver only supports

    运行程序报错: selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 121.0.6167.85 with binary path /Applications/Google Chrome.app/Contents/MacOS/Google Chrome 系统的chrome浏览器自动升级了,导致selenium依赖的chrome内

    2024年01月25日
    浏览(44)
  • 解决only one element tensors can be converted to Python scalars

    目录 解决 \\\"only one element tensors can be converted to Python scalars\\\" 错误 问题源头 解决方法 方法一:使用​​item()​​方法 方法二:使用索引操作 总结 语法 参数 返回值 使用场景 示例 当我们使用PyTorch进行深度学习任务时,有时会遇到以下错误信息:\\\"only one element tensors can be conve

    2024年02月03日
    浏览(44)
  • ERROR: There can be only one Game target per project.

    UATHelper: Packaging (Windows (64-bit)): ERROR: There can be only one Game target per project. D:dockIntermediateSource 把旧的文件删去 一般会出现在更改项目名称后 感谢 There can be only one Game target per project - Development Discussion / Content Creation - Unreal Engine ForumsThere can be only one Game target per project - 

    2024年02月08日
    浏览(46)
  • Pandas告警UserWarning: pandas only supports SQLAlchemy connectable

    使用老的书写方式从数据库导入数据到pandas, 会打出一条warning信息: 老的书写方式为: 按照提示,推荐使用SQLAlchemy,需要先安装SQLAlchemy库: 新版本的pandas库中con参数使用sqlalchemy库创建的create_engine对象 。创建create_engine对象(格式类似于URL地址)

    2024年02月16日
    浏览(39)
  • backurl: heytapbrowser://main/iflow?sub_target=only_enter_iflow

    backurl: heytapbrowser://main/iflow?sub_target=only_enter_iflow 各浏览器/搜索引擎蜘蛛useragent举例: 1、IE10 Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; Trident/5.0) 2、iPhone6 Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 3、iPad Mozilla/5.0 (iPad; CPU OS 6_0

    2024年02月06日
    浏览(40)
  • RuntimeError: stack expects each tensor to be equal size, but got at entry

    参考链接:​​​​​​解决Pytorch dataloader时报错每个tensor维度不一样的问题_python_脚本之家 记录一下自己遇到的bug: 问题描述:  问题分析: torch.stack(batch, 0, out=out)出错,原因可能是: 同一个batch的数据图片的维度(H, W, C)要相同(可以见官方文档:其shape必须一致) 问

    2024年02月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包