Skip to content

Commit 57c68c1

Browse files
yangyuqiangHanqingWangAI
authored andcommitted
[docs] add more details for internNav
1 parent a3d267d commit 57c68c1

File tree

8 files changed

+248
-108
lines changed

8 files changed

+248
-108
lines changed

.github/workflows/deploy-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Deploy Docs
33
on:
44
push:
55
branches:
6-
- main
6+
- main
77

88
permissions:
99
contents: read
@@ -44,4 +44,4 @@ jobs:
4444
steps:
4545
- name: Deploy Docs
4646
id: deployment
47-
uses: actions/deploy-pages@v4
47+
uses: actions/deploy-pages@v4
236 KB
Loading
332 KB
Loading

source/en/user_guide/index.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,3 @@ User Guide
2121
:maxdepth: 3
2222

2323
internmanip/index
24-
25-

source/en/user_guide/internnav/quick_start/installation.md

Lines changed: 118 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
}
1212
</style>
1313

14-
# 🛠️ Installation Guide
14+
# Installation Guide
1515

1616
😄 Don’t worry — both [Quick Installation](#quick-installation) and [Dataset Preparation](#dataset-preparation) are beginner-friendly.
1717

@@ -177,18 +177,59 @@ We provide a flexible installation tool for users who want to use InternNav for
177177

178178
## Quick Installation
179179

180-
We support two mainstream setups in this toolbox and the user can choose one given their requirements and devices.
180+
Our toolchain provides two Python environment solutions to accommodate different usage scenarios with the InternNav-N1 series model:
181181

182-
### Basic Environment
183-
For users that only need to run the model inference and visualize the planned trajectory results, we recommend run the simplest installation scripts:
182+
- For quick trials and evaluations of the InternNav-N1 model, we recommend using the [Habitat environment](#habitat-environment). This option offer allowing you to quickly test and eval the InternVLA-N1 models with minimal configuration.
183+
- If you require high-fidelity rendering, training capabilities, and physical property evaluations within the environment, we suggest using the [Isaac Sim](#isaac-sim-environment) environment. This solution provides enhanced graphical rendering and more accurate physics simulations for comprehensive testing.
184184

185+
Choose the environment that best fits your specific needs to optimize your experience with the InternNav-N1 model. Note that both environments support the training of the system1 model NavDP.
186+
187+
### Isaac Sim Environment
188+
#### Prerequisite
189+
- Ubuntu 20.04, 22.04
190+
- Conda
191+
- Python 3.10.16 (3.10.* should be ok)
192+
- NVIDIA Omniverse Isaac Sim 4.5.0
193+
- NVIDIA GPU (RTX 2070 or higher)
194+
- NVIDIA GPU Driver (recommended version 535.216.01+)
195+
- PyTorch 2.5.1, 2.6.0 (recommended)
196+
- CUDA 11.8, 12.4 (recommended)
197+
- Docker (Optional)
198+
- NVIDIA Container Toolkit (Optional)
199+
200+
Before proceeding with the installation, ensure that you have [Isaac Sim 4.5.0](https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/install_workstation.html) and [Conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html) installed.
201+
202+
To help you get started quickly, we've prepared a Docker image pre-configured with Isaac Sim 4.5 and InternUtopia. You can pull the image and run evaluations in the container using the following command:
203+
```bash
204+
docker pull registry.cn-hangzhou.aliyuncs.com/internutopia/internutopia:2.2.0
205+
docker run -it --name internutopia-container registry.cn-hangzhou.aliyuncs.com/internutopia/internutopia:2.2.0
206+
```
207+
#### Conda installation
185208
```bash
186-
conda create -n internnav python=3.9
187-
pip install -r basic_requirements.txt
209+
$ conda create -n <env> python=3.10 libxcb=1.14
210+
211+
# Install InternUtopia through pip.(2.1.1 and 2.2.0 recommended)
212+
$ conda activate <env>
213+
$ pip install internutopia
214+
215+
# Configure the conda environment.
216+
$ python -m internutopia.setup_conda_pypi
217+
$ conda deactivate && conda activate <env>
188218
```
219+
For InternUtopia installation, you can find more detailed [docs](https://internrobotics.github.io/user_guide/internutopia/get_started/installation.html) in [InternUtopia](https://github.com/InternRobotics/InternUtopia?tab=readme-ov-file).
220+
```bash
221+
# Install PyTorch based on your CUDA version
222+
$ pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu118
223+
224+
# Install other deps
225+
$ pip install -r isaac_requirements.txt
226+
227+
```
228+
229+
230+
If you need to train or evaluate models on [Habitat](#optional-habitat-environment) without physics simulation, we recommend the following setup and easier environment installation.
189231

190232
### Habitat Environment
191-
For users that would like to train models or evaluate on Habitat without physics simulation, we recommend the following setup and easier environment installation.
192233

193234
#### Prerequisite
194235
- Python 3.9
@@ -197,72 +238,102 @@ For users that would like to train models or evaluate on Habitat without physics
197238
- GPU: NVIDIA A100 or higher (optional for VLA training)
198239

199240
```bash
200-
conda install habitat-sim==0.2.4 withbullet headless -c conda-forge -c aihabitat
201-
git clone --branch v0.2.4 https://github.com/facebookresearch/habitat-lab.git
202-
cd habitat-lab
203-
pip install -e habitat-lab # install habitat_lab
204-
pip install -e habitat-baselines # install habitat_baselines
205-
pip install -r habitat_requirements.txt
241+
conda install habitat-sim==0.2.4 withbullet headless -c conda-forge -c aihabitat
242+
git clone --branch v0.2.4 https://github.com/facebookresearch/habitat-lab.git
243+
cd habitat-lab
244+
pip install -e habitat-lab # install habitat_lab
245+
pip install -e habitat-baselines # install habitat_baselines
246+
pip install -r habitat_requirements.txt
206247
```
207248

208-
### Isaac Sim Environment
209-
For users that would like to evaluate the whole navigation system with VLN-PE on Isaac Sim, we recommend the following setup with NVIDIA RTX series GPUs for better rendering support.
210249

211-
#### Prerequisite
212-
- Python 3.10 or higher
213-
- CUDA 12.4
214-
- GPU: NVIDIA RTX 4090 or higher (optional for VLA testing)
250+
## Verification
251+
252+
Please download our latest pretrained [checkpoint](https://huggingface.co/InternRobotics/InternVLA-N1) of InternVLA-N1 and run the following script to inference with visualization results. Move the checkpoint to the `checkpoints` directory. Download the VLN-CE dataset from [huggingface](). The final folder structure should look like this:
215253

216254
```bash
217-
# TODO: pull the docker with Isaac Sim and GRUtopia
218-
pip install -r isaac_requirements.txt --no-deps
255+
InternNav/
256+
|-- data/
257+
| |-- datasets
258+
|-- vln
259+
|-- vln_datasets
260+
|-- scene_datasets
261+
|-- hm3d
262+
|-- mp3d
263+
264+
|-- src/
265+
| |-- ...
266+
267+
|-- checkpoints/
268+
| |-- InternVLA-N1/
269+
| | |-- model-00001-of-00004.safetensors
270+
| | |-- config.json
271+
| | |-- ...
272+
| |-- InternVLA-N1-S2
273+
| | |-- model-00001-of-00004.safetensors
274+
| | |-- config.json
275+
| | |-- ...
219276
```
220-
```bash
221-
# Make the script executable
222-
chmod +x install.sh
223277

224-
# View available options
225-
./install.sh --help
278+
Replace the 'model_path' variable in 'vln_ray_backend.py' with the path of InternVLA-N1 checkpoint.
279+
```bash
280+
srun -p {partition_name} --cpus-per-task 16 --gres gpu:1 python3 scripts/eval/vln_ray_backend.py
226281
```
227-
228-
229-
## Verification(TBD)
230-
231-
Please download our latest pretrained [checkpoint]() and run the following script to inference with visualization results.
232-
282+
Find the IP address of the node allocated by Slurm. Then change the BACKEND_URL in the gradio client (navigation_ui.py) to the server's IP address. Start the gradio.
233283
```bash
234-
./scripts/demo/internvla_n1.py --rgb_pkl ${SAVED_RGB_PKL} --depth_pkl ${SAVED_DEPTH_PKL} --output_path ${EXPECT_OUTPUT_PATH}
284+
python navigation_ui.py
235285
```
286+
Note that it's better to run the Gradio client on a machine with a graphical user interface (GUI) but ensure there is proper network connectivity between the client and the server. Then open a browser and enter the Gradio address (such as http://0.0.0.0:5700). We can see the interface as shown below.
287+
![img.png](../../../_static/image/gradio_interface.jpg)
288+
289+
Click the 'Start Navigation Simulation' button to send a VLN request to the backend. The backend will submit a task to ray server and simulate the VLN task with InternVLA-N1 models. Wait about 3 minutes, the VLN task will be finished and return a result video. We can see the result video in the gradio like this.
290+
![img.png](../../../_static/image/gradio_result.jpg)
236291

237-
If it installed properly, you can find the evaluation results and the visualization in the `eval_results/internNav` directory:
238292

239293
🎉 Congratulations! You have successfully installed InternNav.
240294

295+
296+
241297
## Dataset Preparation
298+
We also prepare high-quality data for trainning system1/system2. To set up the trainning dataset, please follow the steps below:
299+
300+
1. Download Datasets
301+
- Download the [InternData-N1](https://huggingface.co/datasets/InternRobotics/InternData-N1) for:
302+
- `vln_pe/`
303+
- `vln_ce/`
304+
- `vln_n1/`
305+
306+
- Download the [SceneData-N1](https://huggingface.co/datasets/InternRobotics/Scene-N1) for the `scene_data/`.
307+
308+
2. Directory Structure
242309

243-
Please download the [InternData-N1]() and organize the data structure as follows.
310+
After downloading, organize the datasets into the following structure:
244311

245312
```bash
246313
data/
247-
├── scene_datasets/
248-
│ └── mp3d/
249-
│ ├── 17DRP5sb8fy/
250-
│ ├── 1LXtFkjw3qL/
251-
│ └── ...
252-
├── vln_n1/
253-
│ ├── datasets/
314+
├── scene_data/
315+
│ ├── mp3d_pe/
316+
│ │ ├──17DRP5sb8fy/
317+
│ │ ├── 1LXtFkjw3qL/
318+
│ │ └── ...
319+
│ ├── mp3d_ce/
320+
│ └── mp3d_n1/
321+
├── vln_pe/
322+
│ ├── raw_data/
254323
│ │ ├── train/
255324
│ │ ├── val_seen/
256325
│ │ │ └── val_seen.json.gz
257326
│ │ └── val_unseen/
258327
│ │ └── val_unseen.json.gz
259328
├── └── traj_data/
260-
│ ├── images/
261-
│ └── annotations.json
329+
│ └── mp3d/
330+
│ └── trajectory_0/
331+
│ ├── data/
332+
│ ├── meta/
333+
│ └── videos/
262334
├── vln_ce/
263-
│ ├── datasets/
335+
│ ├── raw_data/
264336
│ └── traj_data/
265-
└── vln_pe/
266-
├── datasets/
337+
└── vln_n1/
267338
└── traj_data/
268339
```

0 commit comments

Comments
 (0)