当前位置: 首页 > news >正文

[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_context
    return func(*args, **kwargs)
  File "/media/Projects/Text2HOI/demo/demo.py", line 72, in main
    seq_cvae = build_seq_cvae(config, test=True)
  File "/media/Projects/Text2HOI/lib/utils/model_utils.py", line 75, in build_seq_cvae
    seq_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代码位置下进行运行,问题解决。
在这里插入图片描述
在这里插入图片描述

相关文章:

  • CSS 入门指南(一):基本概念 选择器 常用元素属性
  • C#中的【Obsolete】属性Attribute
  • 淘立方电商前端网站(HTML开发)源代码
  • 【 深入解析VGG网络:理论、调优与ResNet对比】
  • ⭐LeetCode(数学分类) 2. 两数相加——暴力与优化⭐
  • CSS-基础选择器,字体属性,文本属性介绍
  • CEH与OSCP:网络安全认证对比分析
  • 可复用的 Vue 轮播图组件
  • AutoDL平台租借GPU,创建transformers环境,使用VSCode SSH登录
  • 5. 前后端实现文件上传与解析
  • linux 命令 cat
  • 【社交+陪玩服务】全场景陪玩系统源码 小程序+H5双端 社群互动+即时点单+搭建教程
  • 2025年四川烟草工业计算机岗位备考详细内容
  • 1.1 双指针专题:移动零(easy)
  • 深入解析 Linux 的 traceroute 命令
  • 解决asp.net mvc发布到iis下安全问题
  • 27. Harmonyos Next仿uv-ui 组件NumberBox 步进器组件禁用状态
  • C# 实现 AI SSE (Server-Sent Events)接口方式输出(对接AI模型API)
  • 无公网IP也能远程控制Windows:Linux rdesktop内网穿透实战
  • 使用VS Code remote ssh进行远程开发的笔记
  • 西班牙政府排除因国家电网遭攻击导致大停电的可能
  • 因操纵乙烯价格再遭诉讼,科莱恩等四家企业被陶氏索赔60亿
  • 美国4月CPI同比上涨2.3%低于预期,为2021年2月来最小涨幅
  • 走进“双遗之城”,领略文武风采:沧州何以成文旅新贵
  • 从普通人经历中发现历史,王笛解读《线索与痕迹》
  • 上海能源科技发展有限公司原董事长李海瑜一审获刑13年