vita-epfl / UniTraj

A Unified Framework for scalable Vehicle Trajectory Prediction, ECCV 2024
Other
221 stars 23 forks source link

Training problem about data loading #15

Closed BIGFatming closed 3 months ago

BIGFatming commented 3 months ago

I had processed AV2, nuplan and nuscenes data using the ScenarioNet, and got .pkl files. When I tried to start the training, the console outputs errors repeatedly. The output error for the nuplan dataset is: 截图 2024-07-27 15-30-13 The output error for the AV2 dataset is: 截图 2024-07-27 15-33-09 And there is NO output errors for nuscenes!

It seems that the errors are raised by these codes in _unitraj/datasets/basedataset.py: try: output = self.preprocess(scenario) output = self.process(output) output = self.postprocess(output) except Exception as e: print('Error: {} in {}'.format(e, file_name)) output = None

I ran the train.py in debug mode and removed the try except section. I did not find the difference between those scenario that trigger errors and those scenario that do not trigger. Are these errors normal? If not, what kind of mistake may I have made during generating these data?

Alan-LanFeng commented 3 months ago

error in nuplan is a bug and has been fixed. error messages in other datasets except nuscenes are normal. This is because the data is split in the time dimension (21 past, 60 future). When there is no valid agent at the current time step it raises an error.

ChengkaiYang commented 3 months ago

I had processed AV2, nuplan and nuscenes data using the ScenarioNet, and got .pkl files. When I tried to start the training, the console outputs errors repeatedly. The output error for the nuplan dataset is: 截图 2024-07-27 15-30-13 The output error for the AV2 dataset is: 截图 2024-07-27 15-33-09 And there is NO output errors for nuscenes!

It seems that the errors are raised by these codes in _unitraj/datasets/basedataset.py: try: output = self.preprocess(scenario) output = self.process(output) output = self.postprocess(output) except Exception as e: print('Error: {} in {}'.format(e, file_name)) output = None

I ran the train.py in debug mode and removed the try except section. I did not find the difference between those scenario that trigger errors and those scenario that do not trigger. Are these errors normal? If not, what kind of mistake may I have made during generating these data?

Hello, although i am not the author ,but i have noticed the project for a long time.I think Argoverse2 dataset can not use default config file provided by the project because AV2 dataset gives us 50 past trajectory points to predict 60 future trajectory points. The default config of past_len is 20, i think you should change it to 50 to avoid warning "No center objects at timestep 20".Moreover, you should change only_train_on_ego from True to False as well, if only_train_on_ego is set True, the track object we predict is "AV" BUT AV2 official datasets may not gaurantee AV object at 50 time step is valid. In fact, official AV2 dataset want us to predict focal_object_id but not AV object so we may set only_train_on_ego to False.In fact, focal_object_id may contain not only VEHICLE type, so you may set "object_type" settings to [ 'UNSET', 'VEHICLE', 'PEDESTRIAN', 'CYCLIST', 'OTHER'] as well. Hope to cancel your warnings!