Module.__init__() takes 1 positional argument but 3 were given
时间: 2023-12-05 11:33:41 浏览: 59
这个错误通常是由于参数传递不正确导致的。在这个例子中,错误提示是"Module.__init__() takes 1 positional argument but 3 were given",意味着在初始化 Module 类的时候传递了3个参数,但只接受了1个位置参数。为了解决这个问题,你需要检查你的代码以确定在实例化 Module 类时是否传递了正确的参数。
参考你提供的代码,我注意到你的 Cnn 类继承自 nn.Module,而在 Cnn 类的初始化方法 __init__() 中,你并没有定义任何参数。这意味着在实例化 Cnn 类时,不应该传递任何参数。
因此,要解决这个问题,你只需在实例化 Cnn 类时不传递任何参数即可。例如,在迭代训练之前加入以下代码:
net = Cnn()
这样就可以正确地实例化你的网络并避免出现"Module.__init__() takes 1 positional argument but 3 were given"的错误了。
相关问题
Style.__init__() takes 1 positional argument but 2 were given
根据提供的引用内容,可以看出这是一个关于Python编程的问题。具体来说,是在使用pymysql连接数据库时出现了错误,以及在Django框架中调用函数时出现了参数数量不匹配的错误。另外还有一个关于PyTorch深度学习框架的代码问题。
关于引用中提到的问题:Style.__init__() takes 1 positional argument but 2 were given,这个错误提示表明在调用Style类的构造函数时,传入了两个参数,但是该构造函数只接受一个参数。因此,需要检查代码中是否有多余的参数传入,或者是否需要修改Style类的构造函数来接受两个参数。
ResidualBlock.__init__() takes 1 positional argument but 4 were given
这个错误提示表明在调用函数add_atr()时,传入了一个参数,但是该函数并不需要参数。而对于ResidualBlock类的初始化函数__init__(),它需要传入4个参数,但是在调用时只传入了1个参数,导致了该错误的发生。
对于ResidualBlock.__init__() takes 1 positional argument but 4 were given这个错误,它表明在调用ResidualBlock类的初始化函数__init__()时,传入了1个参数,但是该函数需要传入4个参数。这个错误通常是由于函数调用时传入的参数数量不正确导致的。