xuxw98/ESAM

When I run train.py on the scannet-mv_fast dataset, a bug occurs

Closed this issue · 7 comments

Hello, authors! I found that after I modified the following code, the following bug appeared. I found that the length of each instance_mask file is 20000, while the length of each semantic_mask is 40000, so IndexError appeared. What should I do in the face of this bug?Thank you very much!
image
image

We have not met with this error before. In our code, the shape of instance_mask and semantic_mask should always be the same.

You can check whether the original files of instance_mask and semantic_mask are of the same length. We want to know whether your error is in data processing or in the training pipeline

Hello, the original _load_rec_3d function was designed to read data for reconstructed point clouds, including the complete point cloud and annotation data of the reconstructed scene. It seems that your modifications to this code might be aimed at reading MV annotation data, which we have already implemented with our original _load_masks_3d and _load_semantic_seg_3d functions, and can be called directly. Additionally, even if you attempted to modify the loading code in this way, it would not affect the length of the MV data mask that is read. We would like to know what other changes you made, for example, whether you modified the code for generating the semantic_mask during data generation, so that we can address this issue.

I did not change the generated file of semantic_mask, and I found that the shape of the .bin files in the instance_mask folder and the semantic_mask folder are (20000,). However, the reason why I changed the original code of loading.py is that there seems to be a problem with the definition of the three paths rec_pts_filename, rec_ins_path and rec_sem_path, which caused errors when I read these three path files.
image

Can you show the reported error when you run the original code? And what are the values of these three path?

The error it reports is FileNotFoundError: [Errno 2] No such file or directory: 'data/scannet/points/scene0505_01.bin', because the file name should be 'data/scannet-mv_fast/points/scene0505_01/*.bin', * represents 0 or 20, etc., and I don't know which .bin file is being read. Could you please help me solve it?

This code is aimed to load the reconstructed point clouds for metric computation. You should exactly load .bin file from 'data/scannet/points/scenexxxx_xx.bin'.

Have you processed the reconstructed data following the readme under data/scannet?

Sorry, I only executed the dataset generation file in the scanner-mv folder. I did not execute the generation file in the scannet folder before. Let me try again. Thank you very much!