mbrossar / ai-imu-dr

AI-IMU Dead-Reckoning
MIT License
785 stars 222 forks source link

Reason for no end frame for some of the sequences #77

Open pra-dan opened 1 year ago

pra-dan commented 1 year ago

Hi,

I am trying to run training on the kitti dataset by simply changing

        # choose what to do
        read_data = 0
        train_filter = 0
        ...

to

        # choose what to do
        read_data = 0
        train_filter = 1
        ...

and got an error:

Traceback (most recent call last):
  File "/Users/prashantdandriyal/Desktop/Home/github/selfdrive/ai-imu-dr/src/main_kitti.py", line 483, in <module>
    launch(KITTIArgs)
  File "/Users/prashantdandriyal/Desktop/Home/github/selfdrive/ai-imu-dr/src/main_kitti.py", line 28, in launch
    train_filter(args, dataset)
  File "/Users/prashantdandriyal/Desktop/Home/github/selfdrive/ai-imu-dr/src/train_torch_filter.py", line 61, in train_filter
    prepare_loss_data(args, dataset)
  File "/Users/prashantdandriyal/Desktop/Home/github/selfdrive/ai-imu-dr/src/train_torch_filter.py", line 110, in prepare_loss_data
    Rot_gt = torch.zeros(Ns[1], 3, 3)
TypeError: zeros() received an invalid combination of arguments - got (NoneType, int, int), but expected one of:
 * (tuple of ints size, *, tuple of names names, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)
 * (tuple of SymInts size, *, Tensor out, torch.dtype dtype, torch.layout layout, torch.device device, bool pin_memory, bool requires_grad)

On tracing it, I noticed that its because Rot_gt = torch.zeros(Ns[1], 3, 3) fails for self.datasets_train_filter["2011_10_03_drive_0042_extract"] = [0, None] as Ns is populated with None instead of a valid end frame. Is there a reason for keeping this sequence (42) and not mentioning its end frame? I don't think commenting it is a solution here because many other sequences will have to be treated similarly then.

seungjuuuuuu commented 1 month ago

Hello, I encountered the same problem. How did you finally solve it?