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

[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代码位置下进行运行,问题解决。
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/580166.html

相关文章:

  • Math 类的核心 API
  • BERT(Bidirectional Encoder Representations from Transformers)的序列分类模型,简单学习记录
  • 【算法】图论 —— SPFA 算法 python
  • 集合知识点
  • 《探索微观世界的钥匙:量子》
  • Manus:成为AI Agent领域的标杆
  • 大语言模型-01-语言模型发展历程-02-从神经网络到ELMo
  • go 标准库包学习笔记
  • 【数据集】社区天气资讯网络CoWIN-香港小时尺度气象数据(含MATLAB处理代码)
  • 【编程题】7-5 堆中的路径
  • 前端HTML转word文档,绝对有效!!!
  • SpreadVue实现内置excel在线编辑并保存为后端可以接受的json格式
  • 案例分析:安防5G低代码开发网关如何提升城市监控效率
  • 算法与数据结构(两数相加)
  • Android操作CAN总线(基于linux-canutils库,发送、接收、设置过滤器)
  • 【2025】基于PHP+Vue的电影购票系统(源码+文档+调试+图文修改+答疑)
  • 基于muduo+mysql+jsoncpp的简易HTTPWebServer
  • 【医院内部控制专题】7.医院内部控制环境要素剖析(三):人力资源政策
  • 发起请求的步骤
  • JVM 类加载原理之双亲委派机制(JDK8版本)