У меня есть большой класс, который выглядит следующим образом:
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
метод, который мы не называем self, тогда мы должны использовать staticmethod
. Это правильно?