同一个问题出现过,在遇到还会在再找解决问题,准备开始进行记录。
环境:使用pytorch
我是在定义一个类,不能调用,会报TypeError: init() takes 1 positional argument but 2 were given的问题,可以直接运行,当然中间也有一些(1)没有加self的地方,(2)自定义的类内没有先实例化,而是直接在调用类的函数, (3)定义的类内参数大小不对应等问题。经检查也不是(4)写错特定的名称,如:init(self): 是两个短划线 “_”(定义的类内,self不可以省略),(5)传入参数的类型和大小也和定义的一致,最终发现我的问题是(6)没有先实例化类,将自定义的类实例化后在调用就可以正常运行了。(其实是自己不太了解类和定义的函数的区别,要学的太多了。。。)
我搜到的和遇到常见的问题就是上面的6种之一,重点就是要 对好参数类型和保证格式的问题,细心仔细!
我定义的类和修改如下:
class att( nn.Module)