NVlabs / trajdata

A unified interface to many trajectory forecasting datasets.
Apache License 2.0
290 stars 38 forks source link

DecodeError when parsing message in `waymo_dataset.py` and dependency-conflicts for trajdata #30

Closed jxmmy7777 closed 2 months ago

jxmmy7777 commented 10 months ago

Hello,

I encountered an issue when trying to run the batch_example.py script on Python 3.8.10. The error seems to be related to parsing a protobuf message in the waymo_dataset.py file.

Steps to reproduce:

  1. Setup the environment using the following command:
    
    pip install -e .[waymo]

The traceback is as follows:

Traceback (most recent call last):
  File "**/batch_example.py", line 55, in <module>
    main()
  File "**/batch_example.py", line 14, in main
    dataset = UnifiedDataset(
  File "**/dataset.py", line 304, in __init__
    env.cache_maps(
  File "**/waymo_dataset.py", line 373, in cache_maps
    self.cache_map(i, cache_path, map_cache_class, map_params)
  File "**/waymo_dataset.py", line 342, in cache_map
    scenario.ParseFromString(bytearray(data.numpy()))
google.protobuf.message.DecodeError: Error parsing message with type 'waymo.open_dataset.Scenario'

Also, I notice that if we do pip install -e .[nusc,lyft,waymo,interaction], there will be package versions conflict:

ERROR: Cannot install tensorflow==2.11.0, trajdata and trajdata[interaction,lyft,nusc,waymo]==1.3.3 because these package versions have conflicting dependencies.

The conflict is caused by:
    trajdata[interaction,lyft,nusc,waymo] 1.3.3 depends on numpy>=1.19
    l5kit 1.5.0 depends on numpy~=1.19.0
    nuscenes-devkit 1.1.9 depends on numpy
    tensorflow 2.11.0 depends on numpy>=1.2

Would appreciate any insights or solutions regarding this. Thank you!