Files

83 lines
4.3 KiB
Markdown

# E题最小提交材料
本目录只保留原题“四、结果与提交说明”中要求随附件提交的材料。特征文件、代码、模型参数与预测 CSV 合计 **47.18 MB**,低于 50 MB。官方原始附件由赛题另行提供,不重复打包;竞赛论文中的方法、实验表格和分析按题目要求写入论文正文。
## 提交内容
| 题目 | 文件 | 用途 |
|---|---|---|
| Q1 | `output/q1/` | 100 条自生成多模态时序特征 `.npz`;附 `manifest_q1.jsonl`、`feature_manifest.json`、100 行样本汇总和 300 行模态汇总,用于追溯样本、维度与有效时长 |
| Q2 | `q2/math/`、`model/`、`adapter/` | C0–C7 数学方案的训练、数据处理、附件 3 推理和统一未对齐输入接口代码;随包参数对应验证集选定的 C6 |
| Q2 | `experiments/q2/unaligned_math_all_b128/` | C6 选定模型权重、结构化填补器、训练集预处理统计、验证集校准与运行配置 |
| Q2 | `output/q2/attachment3_predictions.csv` | 附件 3 的 30 条无标签预测 |
| Q3 | `q3/ati_ho/`、`q3/run_experiments.py`、`q2/deep_learning/q2/`、相关 `model/` 与 `adapter/` | ATI–HO 训练、预测、解释与局部证据计算代码;含运行说明 |
| Q3 | `experiments/q3/ati_ho/`、`experiments/q2/unaligned_deep_two_b128/unaligned_50_robust_stats.npz` | 验证集选定的 ATI–HO A0 三种子权重、配置和推理所需缩放器 |
| Q3 | `output/q3/ati_ho/attachment4_predictions.csv`、`attachment4_explanations.csv`、`attachment4_local_evidence.csv` | 附件 4 的全量预测、模态作用解释和局部证据位置(20 条样本、600 条局部证据记录) |
未放入提交目录的训练日志、消融表、Bootstrap 表、错误归因表和历史方案输出不属于第四小节要求的附件。模型比较、验证结果与分析应呈现在论文正文中。
## 运行环境与数据位置
使用 Python 3.11 或更新版本。安装依赖:
```bash
python -m venv .venv
source .venv/bin/activate # Windows PowerShell: .venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
```
GPU 运行时,请安装与本机 CUDA 驱动匹配的 PyTorch;没有 GPU 时可使用 CPU,但训练和局部解释会更慢。附件 3 的文本重建会调用 `google-bert/bert-base-uncased`;首次运行需能下载该模型,或提前放入 Hugging Face 缓存。
将官方数据根目录放到任意位置,并设置 `FINAL_DATA_DIR` 指向该根目录。目录中需有:
- `附件2-数据集特征文件/unaligned_50.pkl`
- `附件3-模态缺失特征样本/未对齐版本/`
- `附件4-可解释专项视频样本与特征文件/附件4-可解释专项视频样本与特征文件/未对齐版本/`
Windows PowerShell 示例:
```powershell
$env:FINAL_DATA_DIR = "D:/E题数据"
```
Linux/WSL 示例:
```bash
export FINAL_DATA_DIR="/data/E题数据"
```
## 重新生成专项预测文件
从 `submit/` 目录运行。Q2 使用随包提供的 C6 权重、预处理统计和校准参数:
```bash
python -m q2.math.predict_attachment3 --input-version unaligned_50 --device auto
```
Q3 使用随包提供的 A0 三种子权重,生成预测、模态解释和局部 Owen 证据 CSV:
```bash
python -m q3.ati_ho.predict_attachment4 --device auto
```
输出分别写入 `output/q2/` 和 `output/q3/ati_ho/`。附件 3、附件 4 是无标签专项测试集,输出文件不包含测试指标。
## 从头训练
Q2 的 C0–C7 训练与比较代码在 `q2/math/train.py`。按本次 C6 运行配置执行:
```bash
python -m q2.math.train --input-version unaligned_50 --epochs 12 --imputer-epochs 8 --batch-size 128 --patience 3 --seed 20260924 --device cuda --output-dir experiments/q2/unaligned_math_rerun
```
无 CUDA 时将 `--device cuda` 改为 `--device cpu`。训练完成后可用 `--results-dir experiments/q2/unaligned_math_rerun` 让 `predict_attachment3.py` 使用新权重。
Q3 完整训练会生成 ATI 消融与 EarlyConcat、MoFE 基线权重;之后运行完整验证和解释评估:
```bash
python -m q3.ati_ho.train --phase all --device cuda --force
python -m q3.ati_ho.evaluate --device auto
```
完整训练需要附件 2 训练集以及随包提供的训练集缩放器。训练产生的比较模型和审计结果写入 `experiments/`,不需要作为当前最小附件提交。