TypeError: module() takes at most 2 arguments (3 given)

TypeError: module() takes at most 2 arguments (3 given)

这是我的报错代码

import os
import math
import paddle
import paddle.nn as nn
from .backbone import ResNet

class xxxx(nn.layer):                # <------------------------- 这里报错
    def __init__(self,
                 backbone_cfg=None,
                 neck_cfg=None,
                 head_cfg=None,
                 loss_cfg=None,

如果你也是这样,在定义 class 的时候报了这个问题
那应该是和我一样的,代码中 nn.layer 是一个 module 而不是一个类的名字

打印一下:

>>> nn.layer
<module 'paddle.nn.layer' from 'xxxxxib/python3.7/site-packages/paddle/nn/layer/__init__.py'>

我是因为大小写的问题,把 nn.layer 改成 nn.Layer 就对了

>>> nn.Layer
<class 'paddle.fluid.dygraph.layers.Layer'>

有参考自:
https://stackoverflow.com/questions/14583761/typeerror-module-init-takes-at-most-2-arguments-3-given

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值