You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决多光谱目标检测项目运行时的GELU approximate属性缺失错误?

修复GELU模块"approximate"属性缺失错误

错误原因

该错误源于你使用的PyTorch版本过低,旧版本的torch.nn.GELU类未实现approximate属性,但项目代码的GELU前向传播逻辑中调用了该参数,导致属性查找失败。

修复方案

方案一:升级PyTorch到兼容版本

执行以下命令升级PyTorch及相关依赖:

pip install --upgrade torch torchvision torchaudio

如果是GPU环境,请根据自身CUDA版本选择对应安装包,例如CUDA 11.7可使用:

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

方案二:修改项目代码适配旧PyTorch版本

若不想升级PyTorch,可替换项目中的GELU实现:

  1. 打开项目的models/common.py文件,找到MLP结构中使用nn.GELU()的位置
  2. 替换为自定义的GELU类,示例代码如下:
# 在文件顶部导入依赖
import torch
import torch.nn as nn

# 自定义兼容旧版本的GELU实现
class CustomGELU(nn.Module):
    def forward(self, x):
        return torch.nn.functional.gelu(x)

# 找到MLP定义处,将原有的nn.GELU()替换为CustomGELU()
# 例如原代码:self.mlp = nn.Sequential(..., nn.GELU(), ...)
# 修改为:self.mlp = nn.Sequential(..., CustomGELU(), ...)
  1. 保存文件后重新运行训练/测试脚本即可。

内容的提问来源于stack exchange,提问作者Poca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:25:28