上述代码报错:TypeError: __call__() takes 2 positional arguments but 3 were given
时间: 2023-10-31 15:19:18 浏览: 404
这个错误通常是因为你在定义`transforms.Compose`时传递了不正确的参数。`transforms.Compose`接受的参数是一个由多个变换组成的列表,每个变换是一个可调用的对象,它需要一个参数来表示输入的数据。请确保你的每个变换都是这种形式,并且你没有给它们传递多余的参数。
如果你仍然无法解决这个问题,请将你的完整代码和错误信息提供给我,以便我更好地帮助你。
相关问题
TypeError: __call__() takes 3 positional arguments but 4 were given这个报错怎么改
这个错误通常是因为你在调用一个函数或方法时传递了多余的参数。
你需要检查一下你的代码,确认是不是在调用`__call__()`方法时传递了4个参数,而实际上这个方法只能接受3个参数。如果是这样,你需要去掉多余的那个参数,或者在方法中添加一个额外的参数来接受这个多余的参数。
另外,也有可能是因为你在定义这个方法时,没有正确指定参数的个数,导致方法接受的参数个数与你在调用时传递的参数个数不一致。如果是这种情况,你需要检查一下方法的定义,确认参数的个数是否正确。
TypeError: Compose.__call__() takes 2 positional arguments but 3 were given
这个错误通常是因为 `Compose` 类的 `__call__` 方法被传递了多余的参数。请检查代码中是否在调用 `Compose` 实例时传递了多余的参数。
在 `torchvision.transforms` 中,`Compose` 类的 `__call__` 方法只有一个参数,即需要进行转换的输入数据。如果您需要传递额外的参数,请考虑使用函数式转换,或者自定义一个新的转换类。
阅读全文