SatNav 文档导航
本页是 SatNav 文档的统一入口。根据当前目标选择一条阅读路线即可,不需要按文件名顺序阅读 全部文档。
如果是第一次使用 SatNav,建议从环境安装开始,并先使用仓库示例完成一次 环境交互。训练与正式评测需要额外准备 SatNav-v0.1 Episode、GeoTIFF 场景和模型资源。
系统原理
1. 第一次运行 SatNav
按照以下顺序完成安装并运行最小示例:
环境安装:安装 SatNav Core、可选应用或 classic baseline 依赖;
SatNav 示例:使用仓库自带的合成场景和两个 Episode 完成第一次 rollout;
Core API:了解
Env、observation、action、Episode 和 metric 接口;数据格式:了解真实 Episode、GeoTIFF 和 trajectory 的组织方式。
仓库示例不需要下载 SatNav-v0.1、卫星影像或模型 checkpoint,适合检查安装和公开 API。
2. 准备 SatNav-v0.1 数据
训练模型或运行正式评测时,按照以下顺序准备数据:
Episode 数据下载:下载 train、
val_seen、val_unseen和场景列表;卫星场景下载:申请下载现成 GeoTIFF,或使用自己的 API 凭据生成场景;
SatSim Viewer:检查场景、Episode 起点和 reference path;
轨迹数据生成:为离线训练生成 RGB frame 与 expert action;
数据格式:检查 Episode 与 trajectory 字段是否符合公开格式。
只运行在线评测时需要 Episode、GeoTIFF 和模型 checkpoint,不需要提前生成离线 trajectory。 训练 Seq2Seq、CMA 或 VLM baseline 时需要 trajectory。
3. 训练模型
先阅读模型训练,了解通用训练流程、训练输入以及 Classic 与 VLM 两条路线。
Classic baselines
Classic Baselines介绍 Seq2Seq 和 CMA 的数据准备、vocabulary、训练、 checkpoint 检查以及单卡或多卡评测。第一次检查完整训练链路时,可以先运行 Training 文档中的 tiny example quickstart。
Random 和 ReferenceFollower 没有可学习参数,不需要训练。
VLM baselines
每套 VLM 必须使用自己的 Python 环境和模型资源:
Baseline |
训练与评测文档 |
|---|---|
StreamVLN |
|
NaVILA |
|
Uni-NaVid |
|
OpenFly |
SatNav 已训练 checkpoint 发布在 SatNav Baseline Model Zoo。
不要在不同 VLM 之间共用 PyTorch、Transformers 或 FlashAttention 环境。模型、数据、外部源码
和输出路径应写入对应 baseline 的 Git ignored .local/env.sh。
4. 评测模型
统一评测介绍所有 Classic 与 VLM baseline 共用的在线 rollout、Episode 选择、多 rank 分片、输出格式、聚合、错误处理和 resume 行为。
推荐的评测顺序为:
使用少量 Episode 和 5 步上限运行单 GPU smoke;
使用相同 Episode 运行多 GPU smoke,确认分片与聚合正常;
使用全部 Episode 和 500 步上限运行
val_seen;使用相同设置运行
val_unseen。
模型环境、checkpoint 和 launcher 参数仍以对应 baseline 文档为准。
5. 接入新模型
如果需要将仓库之外的模型接入 SatNav,建议依次阅读:
Core API:确认环境交互、observation 和 action contract;
统一评测:了解 evaluator 负责的功能与输出格式;
模型接入:实现
PolicyAdapter、独立环境、launcher 和本地配置;选择一个结构相近的 VLM baseline 作为完整参考。
新模型应通过公开 Env 和 PolicyAdapter 接口运行,不应访问 SatNav 的私有对象。模型专用
状态、历史帧、tokenizer、processor 和 action queue 均由 adapter 管理。
6. 按目标查找文档
目标 |
文档 |
|---|---|
安装 SatNav |
|
运行仓库示例 |
|
使用 Python API |
|
理解数据字段 |
|
下载 Episode |
|
准备 GeoTIFF |
|
检查场景和 Episode |
|
生成离线 trajectory |
|
选择训练路线 |
|
训练 Seq2Seq 或 CMA |
|
训练或评测已有 VLM |
|
运行统一在线评测 |
|
接入新的模型 |
7. 文档约定
文档中的命令默认从 SatNav 仓库根目录运行;
/path/to/...表示需要替换的本机路径,不应原样执行或提交;数据、模型、外部源码和输出路径保存在
.local/env.sh或其他 Git ignored 配置中;Smoke 命令用于检查链路,不用于报告模型性能;
正式 benchmark 结果使用完整 split、500 步上限和对应 baseline 的完整 checkpoint;
每篇操作文档末尾的常见问题用于排查该流程特有的错误。