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

SRGAN训练报错:TypeError: _named_members()获意外参数'remove_duplicate'

SRGAN训练中TypeError: _named_members() got an unexpected keyword argument 'remove_duplicate'解决办法

问题分析

该错误由PyTorch与TensorLayerX版本不兼容导致:PyTorch的_named_members()方法在不同版本的参数定义存在差异,旧版本PyTorch未提供remove_duplicate参数,但当前使用的TensorLayerX版本在调用named_parameters()时内部传递了该参数,从而触发类型错误。

解决方案

1. 版本适配(推荐方案)

查看TensorLayerX官方兼容文档,安装与当前PyTorch版本匹配的TensorLayerX版本:

  • 若PyTorch版本较低(如1.10及以下),降级TensorLayerX到对应兼容版本;
  • 若使用较新的TensorLayerX,升级PyTorch到支持remove_duplicate参数的版本(PyTorch 1.11+已支持该参数)。

2. 修改TensorLayerX源码(临时修复)

找到Python环境中TensorLayerX的core_torch.py文件(示例路径:D:\E\anaconda\envs\opencv-env2\lib\site-packages\tensorlayerx\nn\core\core_torch.py),定位到all_weights属性的代码块:

@property
def all_weights(self):
    """Return all weights of the network."""
    weights = []
    for name, param in self.named_parameters(recurse=True):
        weights.append(param)
    return weights

检查named_parameters()调用是否传递了remove_duplicate参数,若有则删除该参数;若未传递,说明PyTorch版本过低,直接升级PyTorch即可。

3. 验证权重加载逻辑

确认VGG预训练权重的维度与模型结构完全匹配,避免因权重不匹配触发后续参数遍历问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 15:30:09