Files
modeling_zhaocui/math/Q1/README.md
T

41 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Q1:模态对齐与特征分支
本目录按《E题V2》第四章构建 Q1 对齐特征。规格核对与限制见 [`V2_REVIEW.md`](V2_REVIEW.md),可供后续训练读取的主特征包位于 `features_v2/`。
## V2 特征包
- 100 个样本、300 条模态明细;主物理时间视图为 0.1 秒,并保留真实末段长度。
- 文本采用冻结 BERT 词级特征;音频 74 维;视觉采用 OpenFace 2.2.0 的 35 维输出。
- 原生词、音频窗、视频帧与源索引均保留;另提供逐词 CTC 后验、50 段相位视图、多尺度视图、B4 语音视图和物理时间查询矩阵。
- 每个时间视图包含均值、方差、计数、逐维物理覆盖率、掩码和独立质量摘要。质量加权只影响特征汇聚,不改变物理覆盖率。
- B4 Wav2Vec2 视图通过接口从本机 `cache/native/` 按需读取;不复制进主包。
- 特征文件共 44,321,715 字节(约 42.27 MiB)。`feature_manifest.json` 记录配置哈希、源运行信息及精确字节数。
## 读取接口
```python
from q1_io import load_sample, get_view, csr_from_sample
sample = load_sample("video_id/clip_id")
primary = get_view(sample, "audio", "sec")
multiscale = get_view(sample, "audio", "multi", context_s=0.3)
posterior_text = get_view(sample, "text", "posterior")
word_to_audio = csr_from_sample(sample, "query_word_audio_H_time")
b4_speech = get_view(sample, "speech", "sec")
```
`get_view` 支持 `sec`、`word`、`phase50`、`multi` 和文本专用 `posterior`。多尺度视图从原生行按窗口重新聚合;`speech` 视图依赖本机原生缓存。清单文件为 `features_v2/manifest_q1.jsonl`、`sample_summary.csv` 和 `modality_summary.csv`。
## 重建和五折探针
在仓库根目录运行:
```bash
uv run --project math/Q1 python math/Q1/build_v2.py
uv run --project math/Q1 python math/Q1/compare_v2.py
```
特征重建依赖 `cache/native/`、`source_cache_manifest.json`、附件一视频及本机模型资源。`build_v2.py` 复用 `compare_models.py` 中的标签读取、缓存解析和数据结构;V2 对照入口是 `compare_v2.py`。B0–B4 五折 `video_id` 分组探针写入 `results/model_comparison_v2/`,每折缩放器只在训练视频组拟合;报告包含 Accuracy、Macro-F1、MAE、RMSE 和 Pearson。无人工词边界真值时,不报告边界误差或 CTC 后验校准率。
词到原生音频窗和视频帧的 `H_time` 查询矩阵示例可用 `visualize_alignment.py` 重绘;默认展示样本 `-iRBcNs9oI8/8`,也可通过 `--sample-id` 指定样本。图与样本清单写入 `results/`。