Hi, I’m meeting a problem loading the pre-trained model of Resnet-50.
I just simply load the model and meet the following problem. I can’t find a solution to solve it.
import torchvision
res= torchvision.models.resnet50(pretrained=True)
Traceback (most recent call last):
File “”, line 1, in
File “/home/hzha3251/.local/lib/python3.6/site-packages/torchvision/models/resnet.py”, line 261, in resnet50
**kwargs)
File “/home/hzha3251/.local/lib/python3.6/site-packages/torchvision/models/resnet.py”, line 223, in _resnet
progress=progress)
File “/home/hzha3251/.local/lib/python3.6/site-packages/torch/hub.py”, line 506, in load_state_dict_from_url
return torch.load(cached_file, map_location=map_location)
File “/home/hzha3251/.local/lib/python3.6/site-packages/torch/serialization.py”, line 529, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File “/home/hzha3251/.local/lib/python3.6/site-packages/torch/serialization.py”, line 692, in _legacy_load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: unpickling stack underflow
This error might be thrown, if pickle ends unexpectedly, e.g. if the downloaded file is corrupt.
Did you try to rerun the code?
If you still see this error, could you please delete the cached files?
They should be located in
Hi!
I faced the same issue. I work in venv in RHEL. Can you please tell me where can I find .cache directory?
I am using torch 1.5.0.
Error comes from here: /path/to/my/venv/lib64/python3.6/site-packages/torch/serialization.py
Did you change the default cache location?
Could you post the error message, please?
Are you seeing the same error after trying to re-download the model?
File “/opt/conda/lib/python3.6/site-packages/torchvision/models/resnet.py”, line 217, in _resnet
progress=progress)
File “/opt/conda/lib/python3.6/site-packages/torch/hub.py”, line 499, in load_state_dict_from_url
return torch.load(cached_file, map_location=map_location)
File “/opt/conda/lib/python3.6/site-packages/torch/serialization.py”, line 426, in load
return _load(f, map_location, pickle_module, **pickle_load_args)
File “/opt/conda/lib/python3.6/site-packages/torch/serialization.py”, line 603, in _load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: unpickling stack underflow
thank you for suggest! this deals my problem
the main reason is “e.g. if the pretrain model downloaded file is corrupt.”
step1: vim the last error file “/opt/conda/lib/python3.6/site-packages/torch/serialization.py”
step2: find the error code line,and add “print(”#####", f)" before the error line.
step3: run your code again, then remove the wrong pretrain file “ rm /root/.cache/torch/checkpoints/resnet152-b121ed2d.pth”