这是从 SEE600K 框架中提取的 eSL 模型专用精简版本。在保持原有代码框架不变的前提下,移除了其他模型和数据集,只保留 eSL 相关的代码。
- ✅ eSL 模型 (
see/models/esl.py) - ✅ SEE-600K 数据集加载器 (
see/datasets/see_dataset.py) - ✅ 完整的训练框架 (
see/core/- 训练循环、优化器等) - ✅ 损失函数模块 (
see/losses/- 全部保留,eSL 使用通用损失函数) - ✅ 工具函数 (
see/utils/,see/functions/) - ✅ 可视化模块 (
see/visualize/) - ✅ eSL 配置文件 (
options/SeeEverythingEverytime/eSL/)
- ❌ 其他模型:EvLightNet, DeepCurveEstimationNet, EventImageFusionTransformer, EvLowLight, SEENet 等
- ❌ 其他数据集:
seeing_dynamic_with_event数据集及其加载器 - ❌ 其他模型的配置文件
- ❌ 测试文件 (
*_test.py) - ❌
__pycache__目录
使用方法与原版 SEE600K 完全相同:
cd SEE600K-eSL
CUDA_VISIBLE_DEVICES=0 \
python -m see.main \
--yaml_file="options/SeeEverythingEverytime/eSL/eSl_SEE-v1.yaml" \
--log_dir="./logs/SeeEverythingEverytime/eSL/eSl_SEE-v1/" \
--alsologtostderr=TrueCUDA_VISIBLE_DEVICES=0 \
python -m see.main \
--yaml_file="options/SeeEverythingEverytime/eSL/eSl_SEE-v1.yaml" \
--log_dir="./logs/SeeEverythingEverytime/eSL/eSl_SEE-v1/" \
--RESUME_PATH="./logs/SeeEverythingEverytime/eSL/eSl_SEE-v1/model_best.pth.tar" \
--TEST_ONLY=True \
--alsologtostderr=TrueSEE600K-eSL/
├── see/ # 核心代码包
│ ├── __init__.py
│ ├── main.py # 训练入口
│ │
│ ├── core/ # 训练框架(完整保留)
│ │ ├── __init__.py
│ │ ├── launch.py # 训练循环实现
│ │ └── optimizer.py # 优化器和学习率调度
│ │
│ ├── models/ # 模型定义
│ │ ├── __init__.py # 只支持 eSL 模型
│ │ └── esl.py # eSL 模型实现
│ │
│ ├── datasets/ # 数据集加载器
│ │ ├── __init__.py # 只支持 see_everything_everytime_dataset
│ │ ├── basic_batch.py # 批次数据结构
│ │ └── see_dataset.py # SEE-600K 数据集加载器
│ │
│ ├── losses/ # 损失函数(完整保留)
│ │ ├── __init__.py
│ │ ├── loss_factory.py
│ │ ├── metric_factory.py
│ │ ├── image_loss.py
│ │ ├── psnr.py
│ │ ├── ssim.py
│ │ └── perceptual_loss.py
│ │
│ ├── utils/ # 工具函数(完整保留)
│ │ ├── __init__.py
│ │ ├── event_representation_builder.py
│ │ └── model_size.py
│ │
│ ├── functions/ # 功能函数
│ │ ├── __init__.py
│ │ └── match_mean.py
│ │
│ └── visualize/ # 可视化(完整保留)
│ ├── __init__.py
│ ├── event_low_light_batch.py
│ └── vis_tools.py
│
├── options/ # 配置文件
│ └── SeeEverythingEverytime/
│ └── eSL/
│ ├── eSl_SEE-v1.yaml # 训练配置
│ ├── eSl_SEE-v1.sh # SLURM 提交脚本
│ └── eSl_SEE-v1-test.sh # 测试脚本
│
├── requirements.txt # Python 依赖
└── README.md # 本文件
为了确保只支持 eSL,以下文件已被修改:
- 移除了其他模型的导入和
get_model()中的其他分支 - 只保留 eSL 模型支持
- 移除了
seeing_dynamic_with_event数据集支持 - 只保留
see_everything_everytime_dataset数据集支持
- 此版本不支持其他模型,如果配置文件中
MODEL.NAME不是"eSL",会抛出ValueError - 此版本不支持其他数据集,如果配置文件中
DATASET.NAME不是"see_everything_everytime_dataset",会抛出ValueError
✅ 兼容性:
- 训练框架、损失函数、工具函数等核心模块完全保留,与原版 100% 兼容
- 配置文件格式与原版完全相同
- 训练命令与原版完全相同
pip install -r requirements.txt提取日期: 2025-01-21
基于版本: SEE600K 原版
维护: 精简版,仅支持 eSL 模型