簡體   English   中英

TypeError: main() missing 1 required positional argument: 'self'

[英]TypeError: main() missing 1 required positional argument: '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() ,您不傳入任何參數。

首先,當你有一個帶有屬性和方法的類時, self用於面向對象的編程。 但這不是你在這里所擁有的。 此外,您似乎根本沒有在函數中使用self ,那么為什么要將它作為參數呢?

改為這樣做:


def main():

    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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM