【已解决】Pytorch RuntimeError: expected scalar type Double but found Float

在这里插入图片描述
本文作者: slience_me


文章目录

  • 项目场景:
  • 问题描述
  • 原因分析:
  • 解决方案:

项目场景:

在训练模型时候,将数据集输入到网络中去,在执行卷积nn.conv1d()的时候,报出此错误


问题描述

报错堆栈信息

Traceback (most recent call last):File "D:\codeHub\AssumptionAnalysis\2024-01-08-ModernTCN\main.py", line 27, in <module>pred_series = model(data_tensor_part)File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_implreturn self._call_impl(*args, **kwargs)File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_implreturn forward_call(*args, **kwargs)File "D:\codeHub\AssumptionAnalysis\2024-01-08-ModernTCN\model.py", line 191, in forwardx_emb = self.embed_layer(x)  # [B, M, L] -> [B, M, D, N]File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_implreturn self._call_impl(*args, **kwargs)File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_implreturn forward_call(*args, **kwargs)File "D:\codeHub\AssumptionAnalysis\2024-01-08-ModernTCN\model.py", line 76, in forwardx_emb = self.conv(x_pad)  # [B*M, 1, L+P-S] -> [B*M, D, N]File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_implreturn self._call_impl(*args, **kwargs)File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_implreturn forward_call(*args, **kwargs)File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\conv.py", line 310, in forwardreturn self._conv_forward(input, self.weight, self.bias)File "C:\Users\slience_me\.conda\envs\machine-learning\lib\site-packages\torch\nn\modules\conv.py", line 306, in _conv_forwardreturn F.conv1d(input, weight, bias, self.stride,
RuntimeError: expected scalar type Double but found Float

原因分析:

  • tensor的数据类型dtype不正确

这个错误通常是由于数据类型不匹配导致的。在PyTorch中,张量有不同的数据类型,如float32(FloatTensor)和float64(DoubleTensor)等。在进行计算时,PyTorch要求输入的张量数据类型要与操作或模型所期望的数据类型一致,否则会出现这个错误。

例如,如果你的模型或操作期望输入的数据类型为Double(float64),但你提供的张量类型是Float(float32),就会出现类似的错误。PyTorch会提示它期望的数据类型与实际提供的数据类型不匹配。


解决方案:

  • 将数据类型转为float32
  • 或者将数据类型转为float64

解决这个问题的方式通常是将数据类型转换为匹配模型或操作所期望的类型。可以使用 .to() 方法将张量转换为正确的数据类型。例如,将Float类型的张量转换为Double类型:

double_tensor = float_tensor.to(torch.double)
double_tensor = float_tensor.to(torch.float64)
# 或者
float_tensor = double_tensor.to(torch.float32)

另外,还需确保模型的输入数据类型与模型定义时期望的数据类型相匹配,这样可以避免出现数据类型不一致的错误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/605912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IEDA中tomcat日志乱码解决

文章目录 乱码样式原因解决方案参考 乱码样式 原因 乱码原因是编码格式的问题&#xff0c;编码格式不统一&#xff0c;导致显示乱码。 解决方案 统一编码格式。 打开tomcat的配置文件&#xff0c;conf/logging.properties,进行如下修改 进入idea的安装文件中&#xff0c;b…

【docker笔记】Docker网络

Docker网络 容器间的互联和通信以及端口映射 容器IP变动时候可以通过服务名直接网络通信而不受到影响 常用命令 查看网络 docker network ls创建网络 docker network create XXX网络名字查看网络源数据 docker network inspect XXX网络名字删除网络 docker network rm…

竞赛保研 基于深度学习的人脸性别年龄识别 - 图像识别 opencv

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计…

Linux基础知识点-(七-线程)

目录 一、线程和进程 1.1 线程的基本概念 1.2 线程的优缺点 二、创建线程 2.1 pthread_create() - 创建线程函数 三、线程属性 3.1 pthread_attr_t类型 3.2 phread_t类型 四、线程退出 4.1 pthread_exit() 4.2 pthread_join() 4.3 pthread_detach() 一、线程和进…

2019数据结构----单链表真题

思路&#xff1a; (1)找到中间节点,将原链表一分为二 (2)后半段链表原地逆置 (3)合并链表 #include <stdio.h> #include <stdlib.h>//定义节点类型 typedef struct LNode {int data;//数据域struct LNode *next;//指针域 } LNode, *LinkList;void tailList(Link…

Rational rose 安装和使用 教程

前言 win10和win11都可以用&#xff0c;亲测了win10 Unified Modeling Language (UML)又称统─建模语言或标准建模语言&#xff0c;是始于1997年一个OMG标准&#xff0c;它是一个支持模型化和软件系统开发的图形化语言&#xff0c;为软件开发的所有阶段提供模型化和可视化支持…

Spark---RDD算子(单值类型转换算子)

文章目录 1.RDD算子介绍2.转换算子2.1 Value类型2.1.1 map2.1.2 mapPartitions2.1.3 mapPartitionsWithIndex2.1.4 flatMap2.1.5 glom2.1.6 groupBy2.1.7 filter2.1.8 sample2.1.9 distinct2.1.10 coalesce2.1.11 repartition2.1.12 sortBy 1.RDD算子介绍 RDD算子是用于对RDD进…

15K star! 搭建个人PDF工具箱,和广告、泄密说拜拜

我相信很多人都曾经遇到过这样的麻烦&#xff1a;一大堆PDF文档摆在面前要处理&#xff0c;拆分、标页码、调顺序、加签名。手忙脚乱的在网上找了几个工具&#xff0c;但是要么需要付费&#xff0c;要么各种广告还不好用&#xff0c;更容易出现隐私泄露的问题。 今天我们推荐的…

轨迹合并 合并轨迹

搜索微信小程序 merge gpx

测试电脑的公网ip

发现ip地址总是变化&#xff0c;想要了解变化规律 操作 反复关闭打开浏览器&#xff0c;查询ip地址&#xff0c;共查询了15次。出现了5种不同的地址&#xff0c;还好&#xff0c;不是无穷的。

python 各级目录文件读取

目录结构 import pytestdef test_01():# 同级文件with open(1.txt, r, encodingutf-8) as file:content file.read()print(content)def test_02():# 同级目录的下的文件with open(rupfile/2.txt, r, encodingutf-8) as file:content file.read()print(content)def test_03():…

IDEA[Debug]简单说明

目录 &#x1f95e;1.打断点 &#x1f32d;2.第一组按钮 &#x1f9c2;3.第二组按钮 &#x1f953;4.参数查看 1.打断点 1.在需要断点处打上断点&#xff0c;然后点击debug运行 2.执行debug&#xff0c;直接执行到断点处 2.第一组按钮 共有8按钮&#xff0c;从左往右依…

Linux实验——页面置换算法模拟

页面置换算法模拟 【实验目的】 &#xff08;1&#xff09;理解虚拟内存管理的原理和技术。 &#xff08;2&#xff09;掌握请求分页存储管理的思想。 &#xff08;3&#xff09;理解常用页面置换算法的思想。 【实验原理/实验基础知识】 存储器是计算机系统的重要资源之…

可怜的小猪

题目 有 buckets 桶液体&#xff0c;其中 正好有一桶 含有毒药&#xff0c;其余装的都是水。它们从外观看起来都一样。为了弄清楚哪只水桶含有毒药&#xff0c;你可以喂一些猪喝&#xff0c;通过观察猪是否会死进行判断。不幸的是&#xff0c;你只有 minutesToTest 分钟时间来…

msvcp140.dll丢失的解决方法,从两个方向解决msvcp140.dll丢失

在Windows操作系统上&#xff0c;msvcp140.dll是Visual C Redistributable for Visual Studio 2015的一部分&#xff0c;如果msvcp140.dll文件丢失&#xff0c;可能在尝试启动使用C运行时库的程序时遇到错误&#xff0c;应用程序可能也会相应的无法打开&#xff0c;那么有什么m…

Qt/C++摄像头采集/二维码解析/同时采集多路/图片传输/分辨率帧率可调/自动重连

一、前言 本地摄像头的采集可以有多种方式&#xff0c;一般本地摄像头会通过USB的方式连接&#xff0c;在嵌入式上可能大部分是CMOS之类的软带的接口&#xff0c;这些都统称本地摄像头&#xff0c;和网络摄像头最大区别就是一个是通过网络来通信&#xff0c;一个是直接本地通信…

浅谈顺序表基本操作

&#x1f937;‍♀️&#x1f937;‍♀️&#x1f937;‍♀️ 今天给大家带来的是数据结构——顺序表的实现(增删查改)。 清风的CSDN博客主页 &#x1f389;欢迎&#x1f44d;点赞✍评论❤️收藏 &#x1f61b;&#x1f61b;&#x1f61b;希望我的文章能对你有所帮助&#xff…

JavaWeb基础(2)- Web概述、HTTP协议、Servlet、Request与Response

JavaWeb基础&#xff08;2&#xff09;- Web概述、HTTP协议、Servlet、Request与Response 文章目录 JavaWeb基础&#xff08;2&#xff09;- Web概述、HTTP协议、Servlet、Request与Response3 Web概述3.1 Web和JavaWeb的概念3.2 JavaWeb技术栈3.2.1 B/S架构**3.2.2 静态资源**3…

不带控制器打包exe,转pdf文件时失败的原因

加了注释的两条代码后&#xff0c;控制器会显示一个docx转pdf的进度条。这个进度条需要控制器的实现&#xff0c;如果转exe不带控制器的话&#xff0c;当点击转换为pdf的按钮就会导致程序出错和闪退。 __init__.py文件的入口

Netplan介绍

1 介绍 1.1 简介 Netplan是一个抽象网络配置描述器。通过netplan命令&#xff0c;你只需用一个 YAML文件描述每个网络接口所需配置。netplan并不关系底层管理工具是NetworkManager还是networkd。 它是一个在 Linux 系统上进行网络配置的实用程序。您创建所需接口的描述并定义…