Skip to content

Commit

Permalink
{update] 完善内容,修改导航栏侧边栏的bug
Browse files Browse the repository at this point in the history
  • Loading branch information
SunnyHaze committed Jul 3, 2024
1 parent 539c4c5 commit 5d81103
Show file tree
Hide file tree
Showing 10 changed files with 140 additions and 112 deletions.
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
# Documentation for IMDL-BenCo

## Introduction
This repo is the documentation for [IMDL-BenCo](https://github.com/scu-zjz/IMDLBenCo) repository, the first comprehensive IMDL benchmark and modular codebase.
This repo is the documentation for [IMDL-BenCo](https://github.com/scu-zjz/IMDLBenCo) repository, the first comprehensive IMDL benchmark and modular codebase.


## Local Test for developers
First, you need to install NodeJS, then use this command to host a local server to test the website.
```
npm run docs:dev
```
103 changes: 52 additions & 51 deletions docs/.vuepress/configs/navbar/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,61 +2,62 @@ import type { NavbarConfig } from '@vuepress/theme-default'
import { version } from '../meta.js'

export const navbarEn: NavbarConfig = [
{
text: 'Guide',
children: [
{
text: 'Introduction',
children: [
"/guide/base/introduction.md"
],
},
{
text: 'Quick Start',
children: [
"/guide/quickstart/install.md"
],
},
],
},
{
text: 'Guide',
children: [
{
text: 'Basic Information',
children: [
"/guide/base/introduction.md",
"/guide/base/framework.md",
],
},
{
text: 'Quick Start',
children: [
"/guide/quickstart/install.md"
],
},
],
},

{
text: 'API Reference',
children: [
"/API/intro.md",
],
},
{
text: 'API Reference',
children: [
"/API/intro.md",
],
},

{
text: 'Models & modules',
{
text: 'Models & modules',


children: [
{
text: 'Model zoo',
link: '/model/model_zoo/intro&content.md',
children: [
// '/zh/model/model_zoo/intro&content.md',
'/model/model_zoo/leaderboard.md',
children: [
{
text: 'Model zoo',
link: '/model/model_zoo/intro&content.md',
children: [
// '/zh/model/model_zoo/intro&content.md',
'/model/model_zoo/leaderboard.md',

],
},
{
text: 'Backbone models',
link: '/model/backbone/intro&content.md',
children: [
// '/zh/model/backbone/intro&content.md',
],
},
{
text: 'Extractor modules',
link: '/model/extractor/intro&content.md',
children: [
// '/zh/model/extractor/intro&content.md',
// '/zh/reference/bundler/webpack.md',
],
},
],
},
],
},
{
text: 'Backbone models',
link: '/model/backbone/intro&content.md',
children: [
// '/zh/model/backbone/intro&content.md',
],
},
{
text: 'Extractor modules',
link: '/model/extractor/intro&content.md',
children: [
// '/zh/model/extractor/intro&content.md',
// '/zh/reference/bundler/webpack.md',
],
},
],
},

]
3 changes: 2 additions & 1 deletion docs/.vuepress/configs/navbar/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ export const navbarZh: NavbarConfig = [
{
text: '基本信息',
children: [
"/zh/guide/base/introduction.md"
"/zh/guide/base/introduction.md",
"/zh/guide/base/framework.md",
],
},
{
Expand Down
2 changes: 1 addition & 1 deletion docs/.vuepress/configs/sidebar/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const sidebarEn: SidebarConfig = {
text: 'Guide',
children: [
'/guide/base/introduction.md',
// '/guide/getting-started.md',
'/guide/base/framework.md',
// '/guide/configuration.md',
// '/guide/page.md',
// '/guide/markdown.md',
Expand Down
1 change: 1 addition & 0 deletions docs/.vuepress/configs/sidebar/zh.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export const sidebarZh: SidebarConfig = {
text: '指南',
children: [
'/zh/guide/base/introduction.md',
'/zh/guide/base/framework.md',
// '/zh/guide/getting-started.md',
// '/zh/guide/configuration.md',
// '/zh/guide/page.md',
Expand Down
31 changes: 31 additions & 0 deletions docs/guide/base/framework.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Framework Design

## Overview

The overview of the IMDL-BenCo framework design is shown below:

![IMDL-BenCo Overview](/images/IMDLBenCo_overview.png)

The main components include:
- `Dataloader` for data loading and preprocessing
- `Model Zoo` for managing all models and feature extractors
- GPU-accelerated `Evaluator` for calculating evaluation metrics

These classes are the most carefully designed parts of the framework and can be considered the main contributions of IMDL-BenCo.

Additionally, there are auxiliary components, including:
- `Data Library` and `Data Manager` for dataset download and management (TODO)
- Global registration mechanism `Register` for mapping `str` to specific `class` or `method`, making it easy to call corresponding models or methods via shell scripts for batch experiments.
- `Visualize tools` for visualization analysis, currently only including Tensorboard.

And some miscellaneous tools, including:
- `PyTorch optimize tools`, mainly for PyTorch training-related interfaces and tools.
- `Analysis tools`, mainly for various tools used for training or post-training analysis and archiving.

Each of the aforementioned components is independently designed as a class or function, with appropriate interfaces for interaction between components. Ultimately, they fulfill their respective roles by being imported, called, and combined in various ·、`Training/Testing/Visualizing Scripts`.

The CLI (Command Line Interface) of the entire IMDL-BenCo framework, similar to `git init` in Git, automatically generates all default `Training/Testing/Visualizing Scripts` scripts in an appropriate working path via `benco init`, for researchers to modify and use subsequently.

Therefore, users are especially encouraged to modify the content of `Training/Testing/Visualizing Scripts` as needed, making reasonable use of the framework's functions to meet customization needs. According to the ❄️ and 🔥 symbols in the diagram, users are advised to create new classes or modify and design corresponding functions as needed to accomplish specific research tasks.

Additionally, functions like dataset download and model checkpoint download are also achieved through CLI commands like `benco data`.
31 changes: 1 addition & 30 deletions docs/guide/base/introduction.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Introduction

## Overview
IMDLBenCo is a modular deep learning toolkit designed for image manipulation detection and localization (IMDL) tasks based on the [PyTorch](https://pytorch.org/) framework. It can be used for:
- Reproducing state-of-the-art (SoTA) models in IMDL
- Creating your own IMDL models
Expand Down Expand Up @@ -32,35 +32,6 @@ Under this philosophy, IMDL-BenCo's framework has the following features and adv
- Integrated visualization tools like Tensorboard, only the input of images and scalars into specified interfaces are required.
- Integrated complexity analysis (parameters, FLOPs), Grad-CAM, and other analysis tools for quick and easy completion of paper charts.

## Framework Design

The overview of the IMDL-BenCo framework design is shown below:

![IMDL-BenCo Overview](/images/IMDLBenCo_overview.png)

The main components include:
- `Dataloader` for data loading and preprocessing
- `Model Zoo` for managing all models and feature extractors
- GPU-accelerated `Evaluator` for calculating evaluation metrics

These classes are the most carefully designed parts of the framework and can be considered the main contributions of IMDL-BenCo.

Additionally, there are auxiliary tools, including:
- `Data Library` and `Data Manager` for dataset download and management (TODO)
- Global registration mechanism `Register` for mapping `str` to specific `class` or `method`, making it easy to call corresponding models or methods via shell scripts for batch experiments.
- `Visualize tools` for visualization analysis, currently only including Tensorboard

And some miscellaneous interfaces and tools, including:
- `PyTorch optimize tools`, mainly for PyTorch training-related interfaces and tools.
- `Analysis tools`, mainly for various tools used for training or post-training analysis and archiving.

All the above tools form classes or functions independently, with corresponding interfaces, ultimately achieving their respective functions through various `Training/Testing/Visualizing Scripts`.

The CLI (Command Line Interface) of the entire IMDL-BenCo framework, similar to `git init` in Git, automatically generates all default `Training/Testing/Visualizing Scripts` scripts in an appropriate working path via `benco init`, for researchers to modify and use subsequently.

Therefore, users are especially encouraged to modify the content of `Training/Testing/Visualizing Scripts` as needed, making reasonable use of the framework's functions to meet customization needs. According to the ❄️ and 🔥 symbols in the diagram, users are advised to create new classes or modify and design corresponding functions as needed to accomplish specific research tasks.

Additionally, functions like dataset download and model checkpoint download are also achieved through CLI commands like `benco data`.

## Motivation

Expand Down
29 changes: 29 additions & 0 deletions docs/zh/guide/base/framework.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# 框架设计
## 概览
IMDL-BenCo代码框架的设计概览图如下所示:

![](/images/IMDLBenCo_overview.png)

主要的组件包含:
- 负责引入数据并进行预处理的`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指令实现。
29 changes: 1 addition & 28 deletions docs/zh/guide/base/introduction.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 简介
## 概览
IMDLBenCo 是一个模块化的,针对图像篡改检测和定位任务设计的深度学习工具包,基于的[PyTorch](https://pytorch.org/)框架设计。可以用于:
- 复现篡改检测领域SoTA模型
- 创建自己的篡改检测模型
Expand Down Expand Up @@ -30,34 +31,6 @@ IMDL-BenCo的设计理念为:尽最大可能平衡 ***科研代码对于自定
- 集成Tensorboard等可视化工具,只需要向指定接口传入图像,标量即可。
- 集成复杂度分析(参数量,FLOPs),Grad-CAM等分析工具,方便快捷完成论文图表。

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

![](/images/IMDLBenCo_overview.png)

主要的组件包含:
- 负责引入数据并进行预处理的`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`调用并实现相应功能。

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

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

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


## 动机
Expand Down
14 changes: 14 additions & 0 deletions vuepress-starter/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Documentation for IMDL-BenCo

## Introduction
This repo is the documentation for [IMDL-BenCo](https://github.com/scu-zjz/IMDLBenCo) repository, the first comprehensive IMDL benchmark and modular codebase.


## Local Test for developers
First, you need to install NodeJS, then use this command to host a local server to test the website.
```
npm run docs:dev
```
Then a website server will run at http://localhost:8080/IMDLBenCo-doc/

After changes to the document, the content on the webpage will change automatically.

0 comments on commit 5d81103

Please sign in to comment.