I am using PyTorch 0.4.
I defined a PyTorch MyModel
by inheriting from nn.Module
, and saved an instance of it by calling
torch.save(my_model, my_path)
Then, when loading it again with torch.load(my_path)
, my program crashed with the following error:
AttributeError: 'MyModel' object has no attribute 'to'
But my program was able to run it in previous stages. What did go wrong?
I already found it out, and just wanted to quickly post about it since google didn't give an obvious clue.
It turned out that, although I saved the model from a computer with 0.4, I was trying to load it from a different computer that still had an older (<0.4) PyTorch version installed.
pip install --upgrade torch
fixed it.I found it out because the
my_model.train()
and.eval()
methods were indeed working, so I remembered that the.to()
method was introduced in 0.4. Useful references: