首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ValueError:目标大小(torch.Size([16]))必须与输入大小(torch.Size([16,1]))相同

ValueError:目标大小(torch.Size([16]))必须与输入大小(torch.Size([16,1]))相同
EN

Stack Overflow用户
提问于 2019-09-05 03:24:59
回答 1查看 27.3K关注 0票数 21
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ValueError                                Traceback (most recent call last)
<ipython-input-30-33821ccddf5f> in <module>
     23         output = model(data)
     24         # calculate the batch loss
---> 25         loss = criterion(output, target)
     26         # backward pass: compute gradient of the loss with respect to model parameters
     27         loss.backward()

C:\Users\mnauf\Anaconda3\envs\federated_learning\lib\site-packages\torch\nn\modules\module.py in __call__(self, *input, **kwargs)
    487             result = self._slow_forward(*input, **kwargs)
    488         else:
--> 489             result = self.forward(*input, **kwargs)
    490         for hook in self._forward_hooks.values():
    491             hook_result = hook(self, input, result)

C:\Users\mnauf\Anaconda3\envs\federated_learning\lib\site-packages\torch\nn\modules\loss.py in forward(self, input, target)
    593                                                   self.weight,
    594                                                   pos_weight=self.pos_weight,
--> 595                                                   reduction=self.reduction)
    596 
    597 

C:\Users\mnauf\Anaconda3\envs\federated_learning\lib\site-packages\torch\nn\functional.py in binary_cross_entropy_with_logits(input, target, weight, size_average, reduce, reduction, pos_weight)
   2073 
   2074     if not (target.size() == input.size()):
-> 2075         raise ValueError("Target size ({}) must be the same as input size ({})".format(target.size(), input.size()))
   2076 
   2077     return torch.binary_cross_entropy_with_logits(input, target, weight, pos_weight, reduction_enum)

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

我正在训练一个CNN。在马与人的数据集上工作。This is my code。我正在使用criterion = nn.BCEWithLogitsLoss()optimizer = optim.RMSprop(model.parameters(), lr=0.01)。我的最后一层是self.fc2 = nn.Linear(512, 1)。最后一个神经元,马的输出为1,人类的输出为0,对吗?或者我应该选择两个神经元作为输出?

16是批处理大小。因为错误显示为ValueError: Target size (torch.Size([16])) must be the same as input size (torch.Size([16, 1]))。我不明白,我需要在哪里做出改变,以纠正错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-05 09:23:33

在将目标传递给判据之前,target = target.unsqueeze(1)将目标张量的大小从[16]改为[16,1]。这样做就解决了问题。此外,我还需要在将其传递给criterion之前执行target = target.float(),因为我们的输出是浮点型的。此外,代码中还有另一个错误。我在最后一层使用了sigmoid激活函数,但我不应该这样做,因为我使用的标准已经包含了sigmoid内置函数。

票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57798033

复制
相关文章
Tensorflow MobileNet移植到Android
在柯林斯原始网络中使用函数tf.nn.top_k电子杂志概率最大的3类,函数将tf.nn.top_k作为网络中的一个计算节点。
superhua
2018/10/23
1.8K0
Android模拟器开发_安卓模拟器开发
更多例子: https://code.google.com/p/playn/wiki/DemoLinks
全栈程序员站长
2022/11/04
4.8K0
Android模拟器开发_安卓模拟器开发
如何将awk脚本移植到Python【Programming(Python)】
脚本是解决问题的有效方法,而awk是编写脚本的出色语言。 它特别擅长简单文本处理,并且它可以带您完成配置文件的某些复杂重写或目录中文件名的格式重新格式化。
Potato
2019/11/17
1.4K0
如何将awk脚本移植到Python【Programming(Python)】
如何将Java移植到Python的更好方法?
将 Java 移植到 Python 的过程可以比较复杂,主要取决于代码的规模、复杂性以及使用的 Java 特性。以下是一些有效的方法和步骤,可以帮助我们更好地进行这一转换:
华科云商小徐
2024/10/16
1310
AMF: ASP.NET Mobile Framework
ASP.NET移动框架(AMF)是一种最常用的平板电脑和智能手机上Web应用程序的框架,基于jQuery Mobile(http://jquerymobile.com)的asp.net 开源项目,项目地址是http://amf.codeplex.com/,最新发布的版本是0.9,对应于jquerymobile 的beta2,codeproject上有篇详细介绍的文章 http://www.codeproject.com/KB/aspnet/amf.aspx 。 支持的移动平台很多: A. A-grade –
张善友
2018/01/30
9190
如何将静态网页部署到github上
点击 "Setting"按钮,在option里面下滑到 “gitHub Pages”
未名编程
2024/10/12
920
如何将静态网页部署到github上
git 如何将dev merge到master上
之前开发主要是在dev上,从master上clone下代码,开发完以后提交到dev交由测试测完没问题,再由项目经理merge到master上(生产环境).如今自己的角色改变了。需要自己meger到master。之前从来没meger过。于是网上看了些资源,加上自己git学的,大概总结以下git命令。(我平时一直用idea,但是我觉得使用命令操作是比较通用的,而且不容易出错)
编程软文
2019/04/28
4710
git 如何将dev merge到master上
git 如何将dev merge到master上
之前开发主要是在dev上,从master上clone下代码,开发完以后提交到dev交由测试测完没问题,再由项目经理merge到master上(生产环境).如今自己的角色改变了。需要自己meger到master。之前从来没meger过。于是网上看了些资源,加上自己git学的,大概总结以下git命令。(我平时一直用idea,但是我觉得使用命令操作是比较通用的,而且不容易出错)
编程软文
2019/03/19
8890
git 如何将dev merge到master上
Mono 把 .NET 应用程序移植到 Linux
Mono 是基于 .NET 的开放源码开发平台,它让您可以使用各种 .NET 兼容语言创建强大、灵活的 Linux® 应用程序,同时利用跨平台的能力。本文带领您在系统上安装 Mono,并开发第一个用 Mono 编译的可同时在 Linux 和 ® Windows® 上运行的 C# 应用程序。 C# 语言是一种面向对象的语言,用于为 Microsoft .NET 平台快速构建各种应用程序。C# 和 .NET 的目标是把您从底层的编程问题中解脱出来,如类型安全问题、内存管理、库构造等,以便把精力集中到构建应用程序
张善友
2018/01/29
4.3K0
Linux下ndk编译移植FFmpeg到Android平台简介
这里我们选择3.2.4版本(注意:这里使用的3.2.4版本,如果用最新的版本,编译可能出现问题,为了想让大家上手,建议版本先保持一致)。直接github上选择下载解压即可。为了方便编译,我们在解压后的目录中写一个shell脚本来进行配置。build_ffmpeg.sh
用户2929716
2018/08/23
2K0
Linux下ndk编译移植FFmpeg到Android平台简介
详细讲解 移植Uboot到ARM9开发系统上
首先了解ARMer9开发系统硬件设计上和三星原装SMDK2410之间的区别。让uboot在ARMer9开发系统上跑起来,目前只需要关注如下的硬件区别,解决了下面这个问题,uboot就可以在ARMer9开发系统上正常地从串口输出,进入提示符。很多命令都可以使用,当然有些命令需要做修改。
全栈程序员站长
2022/08/14
2.4K0
详解如何将 Android 手机投屏在 Ubuntu 上
你知道如何将Android手机投屏到Linux系统吗?本文就以 Scrcpy 软件为例,来讲解一下如何将Android手机投屏到Ubuntu系统。
混说Linux
2022/11/18
3.6K0
详解如何将 Android 手机投屏在 Ubuntu 上
如何将PancakeSwap部署到以太坊类链上
因为PancakeFactory和PancakeRouter的合约代码是好几个文件,我们把它们合并成一个方便部署,都放到 build 目录下
Tiny熊
2021/09/23
2.9K0
如何将你的Hexo博客部署到Google Firebase上
博主最近在 白嫖万恶的资本 将博客部署到新的CDN上,所以在寻找免费的静态Web应用部署工具,发现了Google Firebase。
pai233
2022/04/26
1.3K0
如何将你的Hexo博客部署到Google Firebase上
将一个纯本地应用移植到 Web 端
如果小明有一个全部数据都存储在本地的应用,而这部设备被他失手扔进了大海,然后数据也一并烟消云散了。为了避免这种情况发生,我们可以尝试将一个纯本地应用移植到 Web 端。
逆锋起笔
2021/01/28
1.9K0
如何将HTTP重定向到Apache上的HTTPS
HTTP ( 超文本传输​​协议 )是万维网 ( WWW )上数据通信的基本协议; 通常在Web浏览器和存储Web文件的服务器之间。 而HTTPS是HTTP的安全版本,其中“ S ”端代表“ Secure ”。
子润先生
2021/06/15
4.5K0
CoreML尝鲜:将自己训练的 caffe 模型移植到 IOS 上
本文介绍了如何使用Core ML在iOS平台上进行模型前向推理,并使用UIImage进行加载和输入,支持多线程和GPU加速。同时,还针对SqueezeNet进行了实例演示。
姜媚
2017/10/16
3.5K0
CoreML尝鲜:将自己训练的 caffe 模型移植到 IOS 上
OpenCV 在 Android 上的应用
在 Android Studio 中创建一个 Library,将官网下载的 OpenCV 导入后,就可以直接调用 OpenCV 中 Java 类的方法。
fengzhizi715
2020/05/04
2.2K0
React Native移植原生Android
(一)前言 之前已经写过了有关React Native移植原生Android项目的文章,不过因为RN版本更新的原因吧,跟着以前的文章可能会出现一些问题,对于初学者来讲还是会有很多疑难的困惑的,而且官方的文档移植没有更新,最新版本集成方法已经发生很大变化啦~OK,今天我们用新版本进行走一遍流程,具体原来就不讲了,直接看移植步骤。 (二)前提准备工作 ①.首先我们有一个采用Gradle构建的Android应用项目,这个大家直接采用Android Studio进行创建一个项目即可。我这边新建一个目录TestInt
xiangzhihong
2018/02/05
1.6K0
React Native移植原生Android
Android原生Property移植记录
移植版本Property与Android原生Property使用方法有一些区别: (1) Android是在init进程初始化Property服务端。移植版本则将Property服务端设计为独立进程,在开机启动时启用Property服务。如此设计的优点在于,将Property服务设计为独立的模块,便于各个应用移植和使用。 (2) Android在使用Property机制时会核对使用进程Selinux权限,在进程使用property_set/property_get时,会先审核使用进程是否拥有访问该属性权限。移植版本Property则省去Selinux权限。 (3) 移植版本Property是在Android KitKat4.4基础上移植而来,其内部实现细节可能与4.4版本之后有所出入。
开源519
2021/05/28
1.7K0
Android原生Property移植记录

相似问题

C++开发的软件如何移植到云上?

2459

wepy框架移植到h5,用什么代码复用高?

0245

请问iot hub,如果移植到rtos上跑的话,iot hub本身需要多少内存才能保证正常运行?

1167

嵌入式移植python?

0308
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文