Skip to content

Conversation

@kew6688
Copy link
Collaborator

@kew6688 kew6688 commented Nov 17, 2025

PR Summary

  • Refactored Habitat integration into the InternNav framework for improved readability and reusability.
    • Maintained a unified evaluation script for all InternNav benchmarks with the same config format and starter workflow.
    • Created a reusable Distributed Evaluator that encapsulates distribution logic for multiple benchmarks.
    • Added a Habitat Env wrapper that handles reset/step, episode assignment, and episode reloading inside the worker, significantly streamlining the evaluation pipeline.
  • Refactored VLNPE evaluation flow:
    • Added an option to bypass the agent server for models that cannot process batched observations, splitting evaluation per distributed rank.
    • Now VlnMultiEvaluator inherited from DistributedEvaluator, the same to Habitat. Ensured each Isaac Sim simulator and model instance is bound to a dedicated GPU, aligning with the Habitat evaluator’s design and enabling deployment on both Aliyun DLC and Slurm.
    • refactor new episode loader and generate all episodes under internutopia env. Keep the evaluator logic clean and align with Habitat evaluation workflow.

Distributed Eval Time

Using 16 nodes, each with 1× RTX 4090 GPU, 8 CPUs, and 60 GB RAM.

Model Variant GPUs Used Previous Runtime (Single 4090) Distributed Runtime (16×4090) Speedup
InternVLA-N1 Flash 1 GPU → 16 GPUs ~13.5 hours ~1 hour 13× faster
InternVLA-N1 PE` 1 GPU → 16 GPUs ~21 hours ~1.6 hour 13× faster

Performance after Refactor

  • Re-ran InternNav benchmarks (Internutopia VLNPE + Habitat VLNCE) three times post-refactor, matching previous performance.
Model Dataset/Benchmark NE OS SR SPL
InternVLA-N1 Habitat R2R 4.88 62.2 57.0 52.4
InternVLA-N1 Flash 4.17 67.2 59.8 53.9
InternVLA-N1 PE 4.87 55.7 50.0 42.9
RDP Flash 7.11 41.7 24.3 17.4
RDP PE 6.73 38.0 26.3 18.6

@kew6688 kew6688 changed the base branch from dev to main November 17, 2025 13:01
@kew6688 kew6688 changed the title [Feat] Habitat refactor & Distributed VLNPE Evaluator for internvla-n1 [Fix] Habitat refactor & Distributed VLNPE Evaluator for internvla-n1 Nov 17, 2025
@kew6688 kew6688 changed the title [Fix] Habitat refactor & Distributed VLNPE Evaluator for internvla-n1 [Fix] Habitat Refactor & Distributed VLNPE Evaluator for internvla-n1 Nov 17, 2025
@kew6688 kew6688 changed the base branch from main to dev November 19, 2025 12:55
@kew6688 kew6688 marked this pull request as ready for review November 21, 2025 05:33
@kew6688 kew6688 changed the title [Fix] Habitat Refactor & Distributed VLNPE Evaluator for internvla-n1 [Fix] Habitat Refactor & Distributed VLNPE Refactor Nov 21, 2025
from internnav.configs.evaluator.vln_default_config import get_config

evaluator_cfg = get_config(evaluator_cfg)
elif evaluator_cfg.eval_type == 'habitat_vln':
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个是干什么的,habitat vln

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个flag没有用到,我去掉

default='scripts/eval/configs/h1_rdp_cfg.py',
help='eval config file path, e.g. scripts/eval/configs/h1_cma_cfg.py',
)
parser.add_argument('--port', type=int, default=None)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

我看server里面写了默认的host和port,这里也写一下会不会好一些,方便跑

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

好的,已在AgentConfig里面加了默认的host和port

@kew6688 kew6688 requested a review from Tai-Wang November 25, 2025 11:07
kew6688 and others added 4 commits November 26, 2025 07:39
…tics#176)

* [file] Update 3d printing files for camera of Unitree Go2.

* [Doc] Update readme for 3d printing models.
@Tai-Wang Tai-Wang merged commit 431cfed into InternRobotics:dev Dec 2, 2025
1 check passed
@Tai-Wang Tai-Wang changed the title [Fix] Habitat Refactor & Distributed VLNPE Refactor [Fix] Habitat Refactor & Support Distributed VLN-PE Evaluation Dec 2, 2025
@kew6688 kew6688 mentioned this pull request Dec 4, 2025
@Tai-Wang Tai-Wang changed the title [Fix] Habitat Refactor & Support Distributed VLN-PE Evaluation [Refactor] Habitat Refactor & Support Distributed VLN-PE Evaluation Dec 9, 2025
@kew6688 kew6688 mentioned this pull request Dec 9, 2025
Yangning-k added a commit to Yangning-k/InternNav that referenced this pull request Dec 16, 2025
heyi301 pushed a commit to heyi301/InternNav that referenced this pull request Dec 16, 2025
* update vln yaml; fix import agent

* update habitat, using evaluator and config; env and agent is WIP

* add distributed_base evaluator

* Habitat env applied, distributed evaluator applied; clean evaluator and agent created

* fix observation issues

* update new register name; tiny fix on style

* latest tested

* delete temp agent; rename default evaluator for habitat

* update slurm bash

* update readme

* fix init dist print

* fix eval config; fix local rank to rank

* update init distributed mode if condition

* update dist for dlc

* fix bug in evaluator

* update distributed vln multi, episode loader

* cma tested

* cma tested; episode loader; torchrun; local agent tested; TODO fix isaac sim gpu setting

* add vlnpe distributed script

* add grscene; add new result write and resumble load data feature based on lmdb path + rank; remove TODOs and unused files

* fix bugs in evaluator and dataset for distributed; n1 and rdp tested

* fix comm log concurrency issue, create file with exist true

* fix progress log mkdir race condition

* fix comments

* polish existing configs and bash

* update bash align with doc

* fix CI test

* rename habitat_extensions

* fix comments

* remove useless line

* [file] Update 3D Printing Files for Camera of Unitree Go2 (InternRobotics#176)

* [file] Update 3d printing files for camera of Unitree Go2.

* [Doc] Update readme for 3d printing models.

* fix visualize image size; fix unused comment code; fixed evaluator name

* bump to version v0.0.2

* update vlnmulti to VLN; update habitatVln to HabitatVLN

* :Revert "Merge branch 'main' into vlnpe_refactor"

This reverts commit 7a23b72, reversing
changes made to ea73075.

---------

Co-authored-by: Yuqiang Yang <49871992+yuqiang-yang@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants