我使用的是静态的方法是否正确?

0

的问题

我有一个大类,如下所示:

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

这里,我看到,自从我的 load() 不需要自由于在 load 方法,我们不叫自我,然后我们应该使用 staticmethod. 这是正确的?

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

最好的答案

0

是的,你可以使用的是静态的方法在这里。 使用静态的方法,我们不需要通过类实例, self 参数的工作。 静态的方法是一样,他们都是独立的类的实例。 他们可以直接通过 Class_name.static_method_name 没有创建的实例访问的方法。

一些更多的读数 在这里

2021-11-21 05:39:53

其他语言

此页面有其他语言版本

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