We are now fixing the torch.load() by specifying the device. However, running dvc repro on a CPU vs. GPU system would produce different artifacts. Should we also modify the code of morphoclass training to make sure that it's consistently written as CPU?
Basically I am talking about this:
|
def save(self, path: pathlib.Path) -> None: |
|
"""Save the training log to disk.""" |
|
torch.save(self.to_dict(), path) |
But I guess it's not trivial (maybe we need to iterate through each element of the
dict and convert it?) because there's no equivalent of
torch.load's
map_location=device for
torch.save.
Originally posted by @FrancescoCasalegno in #15 (comment)
We are now fixing the
torch.load()by specifying thedevice. However, runningdvc reproon a CPU vs. GPU system would produce different artifacts. Should we also modify the code ofmorphoclass trainingto make sure that it's consistently written as CPU?Basically I am talking about this:
morphoclass/src/morphoclass/training/training_log.py
Lines 177 to 179 in 8fca841
But I guess it's not trivial (maybe we need to iterate through each element of the
dictand convert it?) because there's no equivalent oftorch.load'smap_location=devicefortorch.save.Originally posted by @FrancescoCasalegno in #15 (comment)