【发布时间】:2020-05-07 10:49:06
【问题描述】:
我的代码和错误如下,我试图了解为什么会出现错误以及如何修复它。我在没有 self 的情况下尝试了这个并得到了另一个错误
TypeError: load_data() takes 0 positional arguments but 1 was given.
def main(self):
training_loader, validation_loader, testing_loader = Utilities3.load_data(data)
model, optimizer, criterion = Utilities3.network_construct(structure, drop, hidden_layer, learningrate, device)
Utilities3.do_deep_learning(model, optimizer, criterion, epochs, 40, training_loader, device)
Utilities3.save_checkpoint(model, path, structure, hidden_layer, drop, learningrate)
print("Training is finish")
if __name__== "__main__":
main()
TypeError Traceback (most recent call last)
<ipython-input-25-77e46aea71ac> in <module>()
49
50 if __name__== "__main__":
---> 51 main()
TypeError: main() missing 1 required positional argument: 'self'
【问题讨论】:
-
您将
main定义为有一个参数self,但在没有任何参数的情况下调用它:main()。你提到的第二个错误是Utilities3.load_data(我们看不到它的定义)显然没有接受任何位置参数,但你正在传递一个。您需要将参数传递给他们期望的函数! -
您是否从类中删除了一个方法,现在尝试将其用作函数?
-
你必须在
main(self)函数中将参数传递给self
标签: python