hansen7 / OcCo

[ICCV '21] "Unsupervised Point Cloud Pre-training via Occlusion Completion"
https://hansen7.github.io/OcCo/
MIT License
228 stars 26 forks source link

error when loading data #11

Closed leao1995 closed 3 years ago

leao1995 commented 3 years ago

Hi,

I'm trying to load the lmdb data you shared using the lmdb_dataflow function, but I got an error:

_pickle.UnpicklingError: invalid load key, '\xdc'.

Do you know how to fix this? Thanks

hansen7 commented 3 years ago

Thanks for your interest in our work and data! I've re-runed I/O using my provided code and it works through prep & ad, so a few general tips are:

For the environments I’m using, please see:

https://github.com/hansen7/OcCo/blob/c218a2bb446f91702cf8fa6f56bb3a1da406009f/OcCo_Torch/Requirements_Torch.txt#L1-L14

and relavant codes for I/O:

https://github.com/hansen7/OcCo/blob/c218a2bb446f91702cf8fa6f56bb3a1da406009f/OcCo_Torch/train_completion.py#L70-L71

https://github.com/hansen7/OcCo/blob/c218a2bb446f91702cf8fa6f56bb3a1da406009f/OcCo_Torch/utils/LMDB_DataFlow.py#L75-L89

I’ve just downloaded the data from the Google Drive and test these myself, it works fine, as reproduced by others (#8) as well.

hansen7 commented 3 years ago

If you want to convert the lmdb files into other formats, e.g., hdf5, you might find OcCo_Torch/utils/lmdb2hdf5.py useful

DerekHodder commented 1 month ago

For anyone else stumbling across this issue, make sure you're using the right version of tensorpack. I had this exact problem with the exact same "invalid load key" in the TF implementation of OcCo. Although the Requirements_TF.txt allows any version >=0.8.9, what worked for me was downgrading from tensorpack=0.11 (the only version available through conda) to tensorpack=0.8.9.