[Pytorch报错问题解决]AttributeError: ‘nn.Sequential‘ object has no attribute ‘append‘

问题

运行深度学习代码的时候遇到了以下报错问题:

Traceback (most recent call last):File "/home/anaconda3/envs/Text2HOI/lib/python3.9/site-packages/torch/autograd/grad_mode.py", line 28, in decorate_contextreturn func(*args, **kwargs)File "/media/Projects/Text2HOI/demo/demo.py", line 72, in mainseq_cvae = build_seq_cvae(config, test=True)File "/media/Projects/Text2HOI/lib/utils/model_utils.py", line 75, in build_seq_cvaeseq_cvae = SeqCVAE(**args_cvae)File "/media/Projects/Text2HOI/lib/networks/cvae.py", line 37, in __init__self.encoder = Encoder(File "/media/Projects/Text2HOI/lib/networks/cvae.py", line 120, in __init__self.MLP.append(nn.Linear(in_dim, out_dim))File "/home/anaconda3/envs/Text2HOI/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1177, in __getattr__raise AttributeError("'{}' object has no attribute '{}'".format(AttributeError: 'Sequential' object has no attribute 'append'

本人环境如下:

环境版本
CUDA11.1
Python3.9
Pytorch1.10.1

之所以会报错AttributeError: 'Sequential' object has no attribute 'append',是因为Pytorch在1.10.1版本中并没有给Sequential类加入append()方法,至少是在1.11.0版本中加入的,故我们这个Pytorch版本没法调用该方法。

Pytorch 1.11.0版本需要CUDA版本升级,但我CUDA环境也不好变动,服务器上其他人的环境都是依赖于这个CUDA版本的,故我们只能自己动手修改代码。

解决方法

打开定义Sequential的代码所在位置:anaconda3/envs/Text2HOI/lib/python3.9/site-packages/torch/nn/modules/container.py:
在这里插入图片描述
注释掉原先Sequential的代码:
在这里插入图片描述
进入Pytorch的Github官网,找到Sequential带有append方法的版本源码:

https://github.com/pytorch/pytorch/blob/v1.13.0/torch/nn/modules/container.py#L29

这里的v1.13.0可以根据你自己需要的版本更换,只要是v1.11.0以后的都带有 append 方法。

但是要注意一点的是,太新的Pytorch版本也有问题,以Pytoch v2.5.0为例,里面的Sequential代码用到了Python 11的新特性 Self,如果你贸然用最新版本的Pytorch,那你的Python环境可能也要进行相应更新。

打开源码网站链接后,把带有append方法的新Sequential代码复制,粘贴到你自己本地注释掉的Sequential代码位置下进行运行,问题解决。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

小支从学习到认证:NebulaGraph 图数据库认证之旅

前言 在数据爆炸的当下,图数据库凭借其独特的优势,成为处理复杂数据关系的有力工具。NebulaGraph 作为图数据库领域的佼佼者,以高性能、可扩展性和易用性赢得了广泛认可。对于想要在这一领域深入发展的专业人士来说,从学习到获得 …

windows:curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325)

目录 1. git update-git-for-windows 报错2. 解决方案2.1. 更新 CA 证书库2.2. 使用 SSH 连接(推荐)2.3 禁用 SSL 验证(不推荐)2.4 使用pull不使用update 1. git update-git-for-windows 报错 LenovoLAPTOP-EQKBL89E MINGW64 /d/…

mac使用Homebrew安装miniconda(mac搭建python环境),并在IDEA中集成miniconda环境

一、安装Homebrew mac安装brew 二、使用Homebrew安装miniconda brew search condabrew install miniconda安装完成后的截图: # 查看是否安装成功 brew list环境变量(无需手动配置) 先执行命令看能不能正常返回,如果不能正常…

2025人工智能AI新突破:PINN内嵌物理神经网络火了

最近在淘金的时候发现基于物理信息的神经网络(简称PINN)也是个研究热点,遂研读了几篇经典论文,深觉这也是个好发论文的方向,所以火速整理了一些个人认为很值得一读的PINN论文和同学们分享。 为了方面同学们更好地理解…

Android MVC、MVP、MVVM三种架构的介绍和使用。

写在前面:现在随便出去面试Android APP相关的工作,面试官基本上都会提问APP架构相关的问题,用Java、kotlin写APP的话,其实就三种架构MVC、MVP、MVVM,MVC和MVP高度相似,区别不大,MVVM则不同&…

大空间多人互动技术、大空间LBE、VR大空间什么意思?如何实现?

什么是VR? 虚拟现实(Virtual Reality,简称VR)是一种通过计算机技术模拟生成的三维虚拟环境,用户可以通过佩戴VR头显等设备,沉浸在这个虚拟世界中,并与其中的物体、场景进行互动。VR技术的核心在于提供身临…

3D匹配算法简述

一.什么是3D匹配 •形状、大小一致的源点云与目标点云之间的刚体变换。 •源点云通过平移与旋转操作变换到目标点云位置使之重合。 •源点云与目标点云坐标系之间的变换。 典型的应用流程为: 3D相机数据采集----点云生成----点云处理----目标点云提取----3D模板…

【今日EDA行业分析】2025年3月8日

今日行业分析:半导体行业技术博弈与国产 EDA 的突破与挑战 一、引言 在半导体行业的复杂生态系统中,EDA(电子设计自动化)技术处于核心地位,是连接芯片设计、制造与应用的关键纽带。当下,全球半导体领域正经…

NAT NAPT

NAT NAT(Network Address Translation,网络地址转换) 主要用于在不同网络(如私有网络和公共互联网)之间进行 IP 地址转换,解决IP 地址短缺问题,并提供一定的安全性。 IPv4 地址是 32 位&#xf…

固定表头、首列 —— uniapp、vue 项目

项目实地&#xff1a;也可以在 【微信小程序】搜索体验&#xff1a;xny.handbook 另一个体验项目&#xff1a;官网 一、效果展示 二、代码展示 &#xff08;1&#xff09;html 部分 <view class"table"><view class"tr"><view class&quo…

微服务——网关、网关登录校验、OpenFeign传递共享信息、Nacos共享配置以及热更新、动态路由

之前学习了Nacos&#xff0c;用于发现并注册、管理项目里所有的微服务&#xff0c;而OpenFeign简化微服务之间的通信&#xff0c;而为了使得前端可以使用微服务项目里的每一个微服务的接口&#xff0c;就应该将所有微服务的接口管理起来方便前端调用&#xff0c;所以有了网关。…

[免费]微信小程序(图书馆)自习室座位预约管理系统(SpringBoot后端+Vue管理端)(高级版)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序(图书馆)自习室座位预约管理系统(SpringBoot后端Vue管理端)(高级版)&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序(图书馆)自习室座位预约管理系统(SpringBoot后端Vue管理端)(高级版…

Android15请求动态申请存储权限完整示例

效果: 1.修改AndroidManifest.xml增加如下内容: <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-perm

深度学习系列79:Text2sql调研

参考 https://github.com/topics/text-to-sql 这里是一些资源&#xff1a;https://github.com/eosphoros-ai/Awesome-Text2SQL/blob/main/README.zh.md 这里是综述文章&#xff1a;https://zhuanlan.zhihu.com/p/647249972 1. 数据集 Spider: 一个跨域的复杂text2sql数据集&a…

Deepseek应用技巧-chatbox搭建前端问答

目标&#xff1a;书接上回&#xff0c;由于本地私有化部署了deepseek的大模型&#xff0c;那怎么能够投入生产呢&#xff0c;那就必须有一个前端的应用界面&#xff0c;好在已经有很多的前人已经帮我们把前段应用给搭建好了&#xff0c;我们使用就可以啦&#xff0c;今天我们就…

Bootstrap:图标库的安装及其使用

一、安装 使用npm包管理器安装。 npm i bootstrap-icons 二、使用图标 首先先引入bootstrap-icons.css库&#xff0c;然后从官方网站选择想要的图标然后复制使用代码。 示例代码&#xff1a;使用vue引入对应css文件后&#xff0c;使用库图标。 <script setup>import &qu…

Linux网络之数据链路层协议

目录 数据链路层 MAC地址与IP地址 数据帧 ARP协议 NAT技术 代理服务器 正向代理 反向代理 上期我们学习了网络层中的相关协议&#xff0c;为IP协议。IP协议通过报头中的目的IP地址告知了数据最终要传送的目的主机的IP地址&#xff0c;从而指引了数据在网络中的一步…

TCP7680端口是什么服务

WAF上看到有好多tcp7680端口的访问信息 于是上网搜索了一下&#xff0c;确认TCP7680端口是Windows系统更新“传递优化”功能的服务端口&#xff0c;个人理解应该是Windows利用这个TCP7680端口&#xff0c;直接从内网已经具备更新包的主机上共享下载该升级包&#xff0c;无需从微…

“量子心灵AI“的监控仪表盘 - javascript网页设计案例

【前端实战】基于Three.js和Chart.js打造未来科技风AI监控仪表盘 本文通过AI辅助开发&#xff0c;详细记录了一个高级前端项目的完整实现过程。文章包含核心代码片段、技术要点及遇到的问题与解决方案。适合有一定前端基础的开发者学习参考。 1. 项目概述 本文详细介绍了一个名…

vtkDepthSortPolyData 根据相机视图方向对多边形数据进行排序

1. 作用 在 3D 渲染中&#xff0c;透明对象的渲染顺序非常重要。如果透明对象的渲染顺序不正确&#xff0c;可能会导致错误的视觉效果&#xff08;例如&#xff0c;远处的透明对象遮挡了近处的透明对象&#xff09;。vtkDepthSortPolyData 通过对多边形数据进行深度排序&#…