MapFly-Agent
Reference policy of the MapFly benchmark:
Qwen3-VL-4B with starVLA's QwenOFT action head, plus a stop and progress head.
Code is starVLA/examples/uav/ in that repository.
Checkpoint
P1-R0 on OSM maps, 80k steps (main rows of Tables I–III):
| Folder | Head | Test Seen SR | Test Unseen SR |
|---|---|---|---|
mapfly_agent_oft_p1r0/ |
QwenOFT | 86.6 | 62.7 |
mapfly_agent_oft_p1r0/
config.yaml
dataset_statistics.json
checkpoints/steps_80000_pytorch_model.pt
Download into $PLAYGROUND/Checkpoints/ (default starVLA/playground/Checkpoints):
huggingface-cli download EzGuYan/MapFly-Agent mapfly_agent_oft_p1r0 --local-dir playground/Checkpoints/mapfly_agent_oft_p1r0
Serve and evaluate from the MapFly checkout:
CKPT=$PLAYGROUND/Checkpoints/mapfly_agent_oft_p1r0/checkpoints/steps_80000_pytorch_model.pt \
bash starVLA/examples/uav/eval_files/run_policy_server.sh
ROLE=unseen TAG=oft_p1r0 bash starVLA/examples/uav/eval_files/run_eval_split.sh
The other paper rows (QwenGR00T, other tracks) are trained with HEAD /
VARIANT in starVLA/examples/uav/README.md; those checkpoints are not
released here.
config.yaml names the base VLM as Qwen/Qwen3-VL-4B-Instruct. Put a copy under
playground/Pretrained_models/ if your serving setup still expects a local tree.
License
MIT. The Qwen3-VL weights inside the checkpoint follow Qwen's license.