Suis-je à l'aide de la méthode statique correctement?

0

La question

J'ai une grande classe qui ressemble à la suivante:

class Trainer:
    def __init__(self, name, age, height, weight):
        self.name = name
        self.age = age
        self.height = height
        self.weight = weight
    
    def fit(self, dataloader):
        ....DO MODEL TRAINING...
        
        self.save(path=xxx)
        self.load(path=xxx)
    
    def save(self, path):
        self.model.eval()
        torch.save(self.model.state_dict(), path)
    
    @staticmethod
    def load(path: str):
        """Load a model checkpoint from the given path."""
        checkpoint = torch.load(path, map_location=torch.device("cpu"))
        return checkpoint

À partir d' ici, je vois que depuis mon load() n'a pas besoin de l'auto depuis dans le load méthode, nous n'appelons pas de soi, alors nous devrions utiliser staticmethod. Est-ce correct?

deep-learning python
2021-11-21 05:32:01
1

La meilleure réponse

0

Oui, vous pouvez utiliser la méthode statique ici. Pour utiliser la méthode statique nous n'avons pas besoin de passer de l'instance de classe, self argument pour travailler sur. Les méthodes statiques sont comme , ils sont indépendants de la classe de l'instance. Et ils peuvent être appelés directement via Class_name.static_method_name sans la création de l'instance pour accéder à la méthode.

Certains plus de lectures ici

2021-11-21 05:39:53

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................