Skip to content

Varaha

Varaha is a high-fidelity OpenEnv wildfire logistics benchmark for long-horizon agent training and evaluation.

Core trick

PPO and LLM-planner tracks train a 3D drone on wildfire delivery missions with battery limits and ground-responder coordination.

Tags

Description

Varaha is a high-fidelity OpenEnv wildfire logistics benchmark for long-horizon agent training and evaluation. In this 3D environment, an autonomous drone must complete multi-step delivery missions while navigating dynamic fire hazards, dense obstacle fields, battery constraints, and mission-level tool interactions. In interacts with responder agents on the ground to complete its mission with their help. The project supports both continuous-control RL (PPO) and LLM-based planning (Unsloth), with reproducible metrics, reward tracking, and held-out generalization scenarios that expose both strengths and failure modes. Built for serious post-training research, Varaha turns safety-critical coordination into a measurable, scalable environment for next-generation agent capabilities.
AtinChing/OpenEnv-PyTorch-Hackathon-2026★ 00 forksHTMLCreated Mar 8, 2026 · last push Mar 8, 2026

README excerpt

# Varaha Training Paths

This repo now has two runnable training tracks:

1. PPO (continuous-control RL, Stable-Baselines3)
2. Unsloth SFT (LLM planner for long-horizon instruction mode)

## PPO (existing path)

Default hardcore training:

```bash
python train_ppo.py --timesteps 50000000 --n-envs 64 --save-dir ./results_hardcore
```

Quick ~15-minute training pass:

```bash
python train_ppo.py --quick-15m --hard-mix --device cuda --require-cuda
```

Ultra-hard V2:

```bash
python train_ppo.py --v2
```

Train on a custom render/trace/object world JSON:

```bash
python train_ppo.py --world-json ./sample_render_state.json --timesteps 10000000 --n-envs 32
```

`--world-json` accepts:
- `env.get_trace()` JSON (top-level `world`)
- `env.render_state()` JSON
- A scene export with top-level `objects` (box/cylinder style entries)

## Unsloth (new long-horizon planning path)

Install deps:

```bash
pip install -r requirements-unsloth.txt
```

Run a minimal end-to-end Unsloth training + reward eval:

```bash
python train_unsloth.py \
  --output-dir ./results_unsloth \
  --dataset-episodes 12 \
  --dataset-max-records 3000 \
  --train-steps 120 \
  --eval-episodes 3
```

Artifacts:
- `results_unsloth/unsloth_sft_dataset.jsonl`
- `results_unsloth/adapter/`
- `results_unsloth/unsloth_metrics.json`
- `results_unsloth/reward_improvement.png`

To train/eval Unsloth on a render-derived world:

```bash
python train_unsloth.py --world-json ./sample_render_state.json
```

## Colab notebook (minim

Team