IMDLBenCo 文档IMDLBenCo 文档
  • 基本信息

    • 简介
    • 框架设计
  • 快速上手

    • 安装
    • 数据集准备
    • 案例一:使用Model Zoo训练复现SoTA论文
    • 案例二:使用Model Zoo配合checkpoint快速测试
    • 案例三:使用benco init实现你自己的模型
    • 案例四:推理并保存一个数据集的mask和label
    • 获得模型的参数量和FLOPs
  • API文档
  • 数据集

    • # 篡改检测数据集索引
    • AIGC生成内容数据集索引
  • 模型和论文

    • BenCo内实现的模型
    • 其他模型,算法,论文
  • English
  • 简体中文
GitHub
  • 基本信息

    • 简介
    • 框架设计
  • 快速上手

    • 安装
    • 数据集准备
    • 案例一:使用Model Zoo训练复现SoTA论文
    • 案例二:使用Model Zoo配合checkpoint快速测试
    • 案例三:使用benco init实现你自己的模型
    • 案例四:推理并保存一个数据集的mask和label
    • 获得模型的参数量和FLOPs
  • API文档
  • 数据集

    • # 篡改检测数据集索引
    • AIGC生成内容数据集索引
  • 模型和论文

    • BenCo内实现的模型
    • 其他模型,算法,论文
  • English
  • 简体中文
GitHub
  • 指南

    • 简介
    • 框架设计
  • 快速上手

    • 安装
    • 数据集准备
    • 案例一:使用Model Zoo训练复现SoTA论文
    • 案例二:使用Model Zoo配合checkpoint快速测试
    • 案例三:使用benco init实现你自己的模型
    • 案例四:推理并保存一个数据集的mask和label
    • 获得模型的参数量和FLOPs

框架设计

概览

IMDL-BenCo代码框架的设计概览图如下所示:

主要的组件包含:

  • 负责引入数据并进行预处理的Dataloader
  • 管理全部模型,特征提取器的Model Zoo
  • 基于GPU加速的Evaluator,用于计算评价指标

上述类是整个框架中最精心设计的部分,可以认为是IMDL-BenCo的主要贡献。

此外还有辅助的一些组件,包含:

  • 数据集下载和管理工具Data Library和Data Manager(TODO)
  • 全局的注册机制Register,可以实现从str到具体class或者method的映射,便于直接通过shell脚本调用相应的模型或方法,以便批量完成实验。
  • 用于可视化分析结果的visualize tools,暂时只包含Tensorboard。

以及一些零碎的工具,包含:

  • PyTorch optimize tools,主要是PyTorch训练相关的接口和工具。
  • Analysis tools,主要是各种训练时或训练后,分析存档用的工具。

所有上述工具,各自独立地构成了类或者函数,存在交互的组件间留有相应接口。最终,通过在多种Training/Testing/Visualizing Scrips中import调用并组合来实现相应的职责。

而整个IMDL-BenCo框架的CLI(命令行界面,Command Line Interface)则以类似Git中git init的行为,通过benco init自动地在合适的工作路径生成所有默认的Training/Testing/Visualizing Scrips脚本,供研究人员进行后续修改使用。

所以,我们尤其鼓励使用者按照需求修改Training/Testing/Visualizing Scrips的内容,完成对于框架功能的合理取用,满足自定义的需求。并根据图中的❄️、🔥标志建议、酌情对于标注为🔥的类按需创建新的类或修改、设计相应功能完成最相应的科研任务。

此外,数据集下载,模型checkpoint下载等等功能也是通过benco data等等CLI指令实现。

在 GitHub 上编辑此页
上次更新: 2025/4/3 10:12
贡献者: Ma Xiaochen (马晓晨)
Prev
简介