Skip to content

Repository files navigation

SEE600K-eSL

这是从 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=True

验证/测试

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/" \
  --RESUME_PATH="./logs/SeeEverythingEverytime/eSL/eSl_SEE-v1/model_best.pth.tar" \
  --TEST_ONLY=True \
  --alsologtostderr=True

文件结构

SEE600K-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,以下文件已被修改:

see/models/__init__.py

  • 移除了其他模型的导入和 get_model() 中的其他分支
  • 只保留 eSL 模型支持

see/datasets/__init__.py

  • 移除了 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 模型

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors