Question
Environment
- Running on local machine (no SLURM)
- Script:
scripts/train/qwenvl_train/train_system2_local.sh
- 2x GPU setup via
torchrun --nproc_per_node=2
Problem
After downloading the dataset and placing it according to the documentation, training fails with:
FileNotFoundError: [Errno 2] No such file or directory: 'traj_data/r2r'
The error originates from get_annotations_from_lerobot_data in internnav/dataset/internvla_n1_lerobot_dataset.py at line 762:
scene_ids = [d for d in os.listdir(data_path) if os.path.isdir(os.path.join(data_path, d))]
The data_path is hardcoded as a relative path (traj_data/r2r) in the dataset config dictionary (lines 51–100), but torchrun does not guarantee that the working directory is the project root, causing the relative path to fail.
Steps to Reproduce
- Download the InternNav N1 dataset following the official instructions
- Place data at
<project_root>/traj_data/r2r and <project_root>/traj_data/rxr
- Run
bash scripts/train/qwenvl_train/train_system2_local.sh from the project root
- Training crashes immediately with
FileNotFoundError
Additional Issue: Data structure mismatch
Even after working around the path issue (e.g. via symlinks), a second error appears:
ValueError: num_samples should be a positive integer value, but got num_samples=0
This is because the downloaded data has the structure:
traj_data/r2r/<scene_id>/trajectory_N/meta/episodes.jsonl
But get_annotations_from_lerobot_data expects:
traj_data/r2r/<scene_id>/meta/episodes.jsonl
The code only iterates one level deep (scene_ids), missing the trajectory_N subdirectory level entirely, resulting in 0 episodes loaded.
Expected Behavior
- The training script should resolve
data_path relative to the project root regardless of working directory, or use absolute paths
- The dataset loader should either document the exact expected folder structure, or handle the
trajectory_N subdirectory level
Questions
- What is the exact expected directory structure of the downloaded data for
traj_data/r2r?
- Should
data_path be set as an absolute path or resolved relative to PROJECT_ROOT_PATH?
- Is there a data preprocessing step needed before training (e.g. to flatten the
trajectory_N structure)?
Thank you!
Question
Environment
scripts/train/qwenvl_train/train_system2_local.shtorchrun --nproc_per_node=2Problem
After downloading the dataset and placing it according to the documentation, training fails with:
The error originates from
get_annotations_from_lerobot_dataininternnav/dataset/internvla_n1_lerobot_dataset.pyat line 762:The
data_pathis hardcoded as a relative path (traj_data/r2r) in the dataset config dictionary (lines 51–100), buttorchrundoes not guarantee that the working directory is the project root, causing the relative path to fail.Steps to Reproduce
<project_root>/traj_data/r2rand<project_root>/traj_data/rxrbash scripts/train/qwenvl_train/train_system2_local.shfrom the project rootFileNotFoundErrorAdditional Issue: Data structure mismatch
Even after working around the path issue (e.g. via symlinks), a second error appears:
This is because the downloaded data has the structure:
But
get_annotations_from_lerobot_dataexpects:The code only iterates one level deep (
scene_ids), missing thetrajectory_Nsubdirectory level entirely, resulting in 0 episodes loaded.Expected Behavior
data_pathrelative to the project root regardless of working directory, or use absolute pathstrajectory_Nsubdirectory levelQuestions
traj_data/r2r?data_pathbe set as an absolute path or resolved relative toPROJECT_ROOT_PATH?trajectory_Nstructure)?Thank you!