fuse_proj: Initial operational package for 3 researchers (Pavlenko/Blizno/Moroz)
Multimodal fusion research on StripNet+GTA-UAV proxy: - 3 independent fusion tracks: condition-aware (A), token/bottleneck (B), role-aware (C) - Shared interfaces, protocol, dataset audit, baseline benchmarks - Canonical version-chain references to vault (SPEC, ANALYSIS, TRIAGE) - Personalized task plans and decision tables for each researcher - 3 generated DOCX task assignment files with milestones and DoD checklist - Full modality dropout diagnostics and missing-modality robustness requirements - Data contract, benchmark registry, experiment tracking infrastructure Operational documents: - docs/00_project/: MERIDIAN context, protocol, repository reuse guide, experiment specification - docs/01_tasks/: Master assignment + 3 individual researcher tracks + joint integration - docs/02_references/: Core literature, version-chain bases, code maps - docs/03_codebase_guides/: Existing code snapshots from vault - scripts/: gen_task_plans.js (DOCX generation), placeholder infrastructure - vendor_reference/: Snapshots of caption_test, depth_edges_annotate, existing SOFIA/SegModel code - reports/, results/, experiments/: Shared output structure for all 3 researchers 3 DOCX files generated from gen_task_plans.js (Times New Roman 14pt, GOST format): - План_заданий_Павленко_БВ.docx (Condition-Aware track, fusion API owner) - План_заданий_Близно_МВ.docx (Token/Bottleneck track, benchmark owner) - План_заданий_Мороз_ЕС.docx (Role-Aware track, data contract owner) Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
105
docs/00_project/05_REPOSITORY_REUSE_GUIDE.md
Normal file
105
docs/00_project/05_REPOSITORY_REUSE_GUIDE.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# Руководство по переиспользованию существующих проектов
|
||||
|
||||
## 1. Проект генерации модальностей
|
||||
|
||||
Локальный путь:
|
||||
|
||||
```text
|
||||
C:\Users\Lisadminipc\Documents\code\depth_edges_annotate_worlduav
|
||||
```
|
||||
|
||||
Remote:
|
||||
|
||||
```text
|
||||
https://git.lissad.keenetic.name/Pikaliov/depth_edges_annotate_worlduav
|
||||
```
|
||||
|
||||
### Использовать
|
||||
|
||||
| Файл | Что взять |
|
||||
|---|---|
|
||||
| `scripts/run_gta_uav.py` | GTA-UAV layout, source mapping satellite/UAV, параметры annotation run |
|
||||
| `scripts/seg_classes.py` | канонические 17 segmentation classes |
|
||||
| `src/augmentor/io_utils.py` | SafeTensors layout и безопасная запись |
|
||||
| `src/augmentor/inference.py` | normalization и post-processing модальностей |
|
||||
| `in/config_files/*.gin` | hardware, input size, model и segmentation settings |
|
||||
| `README.md` | формат выходов и pipeline stages |
|
||||
|
||||
### Не переносить автоматически
|
||||
|
||||
- Хардкодированные Linux paths.
|
||||
- CLI на `argparse` из `run_gta_uav.py`; в новом проекте параметры задаются gin.
|
||||
- World-UAV-specific subset logic, если она не нужна GTA-UAV.
|
||||
- Edge modality как обязательный fusion input: в текущей постановке она не входит в full-modal contract.
|
||||
|
||||
### Ожидаемый annotation output
|
||||
|
||||
На одно изображение рекомендуется SafeTensors с ключами:
|
||||
|
||||
| Key | Dtype | Shape | Использование здесь |
|
||||
|---|---|---|---|
|
||||
| `depth` | float16 | `[1,H,W]` | UAV geometry |
|
||||
| `segm` | uint8 | `[1,H,W]` | обе ветки |
|
||||
| `chm` | float16 | `[1,H,W]` | satellite geometry |
|
||||
| `edge` | float16 | `[1,H,W]` | не входит в primary input |
|
||||
|
||||
## 2. Проект StripNet и GTA-UAV training
|
||||
|
||||
Локальный путь:
|
||||
|
||||
```text
|
||||
C:\Users\Lisadminipc\Documents\code\caption-test
|
||||
```
|
||||
|
||||
Remote:
|
||||
|
||||
```text
|
||||
https://git.lissad.keenetic.name/Pikaliov/caption-test
|
||||
```
|
||||
|
||||
### Использовать
|
||||
|
||||
| Файл | Что взять |
|
||||
|---|---|
|
||||
| `src/models/stripnet/model.py` | StripNet-small stages и feature maps |
|
||||
| `src/models/stripnet_encoder.py` | GAP и projection 512->1024 |
|
||||
| `src/models/stripnet/conv_mona.py` | optional common adaptation stages 3-4 |
|
||||
| `src/datasets/gtauav_dataset.py` | pair parsing, captions, multi-match ground truth |
|
||||
| `src/datasets/mutually_exclusive_sampler.py` | защита от false negatives |
|
||||
| `src/losses/multi_infonce.py` | symmetric retrieval objective |
|
||||
| `src/training/train_gtauav.py` | training utilities, logging, checkpoints |
|
||||
| `src/eval/evaluate.py` | retrieval evaluation |
|
||||
| `conf/gtauav_balanced_stripnet.gin` | исходный StripNet config |
|
||||
|
||||
### Требуемые изменения
|
||||
|
||||
1. Расширить dataset output auxiliary tensors и validity masks.
|
||||
2. Отделить image encoder от fusion family через общий API.
|
||||
3. Сделать fusion variant выбираемым через gin.
|
||||
4. Унифицировать diagnostics.
|
||||
5. Убрать хардкодированные пути из training config.
|
||||
6. Проверить multi-match evaluation после переноса.
|
||||
7. Сохранить один StripNet instance shared для обеих view-веток.
|
||||
|
||||
## 2.1. Что уже скопировано в vendor_reference
|
||||
|
||||
Для чтения без доступа к исходным репозиториям в `vendor_reference/` лежат снимки: StripNet (`model.py`, `stripnet_encoder.py`, `conv_mona.py`), GTA-UAV dataset + `mutually_exclusive_sampler.py`, losses (`multi_infonce.py`, `weighted_infonce.py`, `hard_negatives.py`), `train_gtauav.py`, `trackers.py`, `profiling.py`, `evaluate.py`, `make_split.py`, `filter_segmentation.py`, конфиги gin, а из annotation-проекта — `run_gta_uav.py`, `seg_classes.py`, `io_utils.py`, `inference.py`, `models.py`. Снимки предназначены для аудита; рабочий перенос выполняется из живых репозиториев по правилам ниже.
|
||||
|
||||
Снапшоты split (`meta/train_80.json`, `test_20.json`, `seg_filter.json`) в vendor_reference сознательно не копировались (30+ MB данных): брать из `caption-test/meta/`.
|
||||
|
||||
## 3. Правило переноса кода
|
||||
|
||||
1. Сначала написать тест, фиксирующий поведение исходного компонента.
|
||||
2. Перенести минимальный необходимый модуль.
|
||||
3. Указать source project и исходный файл в module docstring.
|
||||
4. Удалить неиспользуемые зависимости только после smoke comparison.
|
||||
5. Не редактировать `vendor_reference/`; это контрольный снимок.
|
||||
|
||||
## 4. Минимальная проверка окружения
|
||||
|
||||
```powershell
|
||||
Test-Path 'C:\Users\Lisadminipc\Documents\code\caption-test\src\models\stripnet_encoder.py'
|
||||
Test-Path 'C:\Users\Lisadminipc\Documents\code\depth_edges_annotate_worlduav\scripts\run_gta_uav.py'
|
||||
```
|
||||
|
||||
Дополнительно команда фиксирует фактические dataset paths в `reports/joint/ENVIRONMENT_AUDIT.md`, не добавляя их в исходный код.
|
||||
Reference in New Issue
Block a user