baegwangbin / MaGNet

[CVPR 2022 Oral] Multi-View Depth Estimation by Fusing Single-View Depth Probability with Multi-View Geometry
MIT License
210 stars 15 forks source link

[SOLVED] _pickle.UnpicklingError: invalid load key, '<'. #14

Open robot0321 opened 11 months ago

robot0321 commented 11 months ago

In my case, after running ckpts/download.py, the test command makes an error.

...
  File "/home/chung/anaconda3/envs/magnet/lib/python3.6/site-packages/torch/serialization.py", line 585, in load
    return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
  File "/home/chung/anaconda3/envs/magnet/lib/python3.6/site-packages/torch/serialization.py", line 755, in _legacy_load
    magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: invalid load key, '<'.

The problem was the .pt file which was not properly downloaded by the provided code (download.py) Instead, I recommend using gdown to download the .pt files: for example,

## pip install gdown
gdown 1bbzfboj6XkfFhoJ54Iiqc5Ylj95A015M -O ./ckpts/DNET_scannet.pt

or you can run those codes with python easily

import os 
os.system("gdown 1bbzfboj6XkfFhoJ54Iiqc5Ylj95A015M -O ./ckpts/DNET_scannet.pt")
os.system("gdown 1ugDr67UOanpQZMlPopiM8OihUexhPql4 -O ./ckpts/FNET_scannet.pt")
...

and it works. :)