docs: update project documentation and configuration

This commit is contained in:
2026-03-07 15:37:16 +08:00
parent bf02a05ffc
commit c8dc5f9301
3 changed files with 54 additions and 37 deletions

View File

@@ -13,11 +13,13 @@
- 先编写测试集,再实现代码
- 实现测试集后,先询问用户意见,用户确认后才能继续
- 如非用户要求,无需编写基准测试代码
- 英文注释
- 英文注释,中文文档
- 完成代码编写后在文档的框架不变的情况下更新文档如CLAUDE.md
### 测试编写原则
- 精简、干净、快速
- 核心关键逻辑或算法必须测试
- 需要加载transformer模型进行验证的测试与无需加载模型的测试分离
- 无需编写测试集的情况
- UI界面相关的代码
- 过于复杂或耗时的逻辑
@@ -32,20 +34,36 @@
如需修改其他部分,请先询问,在进行修改。
## 工程说明
使用UV管理整个工程pytest用于测试justfile用于快捷命令。
使用UV管理整个工程pytest用于测试justfile用于快捷命令jujutsu用于版本管理
### 目录说明
- mini-nav 为源代码目录
- mini-nav/configs 为配置文件管理目录使用python + yaml进行统一的配置管理
- mini-nav/commands 为CLI命令管理目录用于管理各种命令
- mini-nav/tests 为pytest测试集目录用于管理各项测试集
- mini-nav/benchmarks 为pytest-benchmark基准测试目录用于管理各项基准测试包括速度、准确度等内容
- mini-nav/visualizer 为plotly、dash的简单数据可视化APP
- mini-nav/database.py 用于管理lancedb数据库
- mini-nav/feature_retrieval.py 用于实现图像特征检索
- mini-nav/main.py 为主程序入口
- outputs 为默认输出目录
**核心模块**
- mini-nav/main.py — CLI 入口 (Typer)
- mini-nav/database.py — LanceDB 单例管理,用于向量存储与检索
- mini-nav/feature_retrieval.py — DINOv2 图像特征提取与检索
**源代码目录 (mini-nav/)**
- mini-nav/configs/ — 配置管理 (Pydantic + YAML)
- mini-nav/commands/ — CLI 命令 (train, benchmark, visualize, generate)
- mini-nav/compressors/ — 特征压缩算法
- hash_compressor.py — 哈希压缩器
- dino_compressor.py — DINO 压缩器
- segament_compressor.py — 分割压缩器
- pipeline.py — 压缩流水线
- train.py — 压缩器训练
- mini-nav/data_loading/ — 数据加载与合成
- loader.py — 数据加载器
- synthesizer.py — 场景合成器
- mini-nav/utils/ — 工具函数
- feature_extractor.py — 特征提取工具
- mini-nav/tests/ — pytest 测试集
- mini-nav/benchmarks/ — 基准测试 (recall@k)
- mini-nav/visualizer/ — Dash + Plotly 可视化应用
**数据目录**
- datasets/ — 数据集目录
- outputs/ — 默认输出目录 (数据库、模型权重等)
### Python库
详细可查询pyproject.toml或使用`uv pip list`获取详细的库信息,请基于目前的库实现功能。