English | 简体中文 GitHub | Gitee码云
Google Colab: GitHub Link | Google Drive Link
📁 数据 ⏬ 百度网盘 (提取码:basr) ⏬ Google Drive
📈 wandb的训练曲线
💻 训练和测试的命令
⚡ HOWTOs
BasicSR (Basic Super Restoration) 是一个基于 PyTorch 的开源图像视频复原工具箱, 比如 超分辨率, 去噪, 去模糊, 去 JPEG 压缩噪声等.
(ESRGAN, EDVR, DNI, SFTGAN)
(HandyView, HandyFigure, HandyCrawler, HandyWriting)
- Nov 29, 2020. 添加 ESRGAN and DFDNet colab demo.
- Sep 8, 2020. 添加 盲人脸复原测试代码: DFDNet.
- Aug 27, 2020. 添加 StyleGAN2 训练和测试 代码: StyleGAN2.
更多
- Sep 8, 2020. 添加 盲人脸复原 测试代码: DFDNet.
ECCV20: Blind Face Restoration via Deep Multi-scale Component Dictionaries
Xiaoming Li, Chaofeng Chen, Shangchen Zhou, Xianhui Lin, Wangmeng Zuo and Lei Zhang - Aug 27, 2020. 添加 StyleGAN2 训练和测试代码.
CVPR20: Analyzing and Improving the Image Quality of StyleGAN
Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen and Timo Aila - Aug 19, 2020. 全新的 BasicSR v1.0.0 上线.
我们提供了简单的流程来快速上手 训练/测试/推理 模型. 这些命令并不能涵盖所有用法, 更多的细节参见下面的部分.
GAN | |||||
---|---|---|---|---|---|
StyleGAN2 | 训练 | 测试 | |||
Face Restoration | |||||
DFDNet | - | 测试 | |||
Super Resolution | |||||
ESRGAN | TODO | TODO | SRGAN | TODO | TODO |
EDSR | TODO | TODO | SRResNet | TODO | TODO |
RCAN | TODO | TODO | |||
EDVR | TODO | TODO | DUF | - | TODO |
BasicVSR | TODO | TODO | TOF | - | TODO |
Deblurring | |||||
DeblurGANv2 | - | TODO | |||
Denoise | |||||
RIDNet | - | TODO | CBDNet | - | TODO |
- Python >= 3.7 (推荐使用 Anaconda 或 Miniconda)
- PyTorch >= 1.7
- NVIDIA GPU + CUDA
pip install basicsr
-
如果要在安装的时候编译 cuda 算子, 请设置环境变量
BASICSR_EXT=True
。BASICSR_EXT=True pip install basicsr
-
如果你想在运行的时候使用 cuda 算子(安装的时候没有编译), 则需要设置环境变量
BASICSR_JIT=True
. 注意: 通过这种方式, 在每一次运行模型时候, 它都需要编译, (比较耗时).- 例子: StyleGAN2 inference colab.
-
Clone repo
git clone https://github.com/xinntao/BasicSR.git
-
安装依赖包
cd BasicSR pip install -r requirements.txt
-
安装 BasicSR
在BasicSR的根目录下运行以下命令:
(确保 GCC 版本: gcc >= 5)
如果你需要以下 cuda 扩展算子:
dcn for EDVR
upfirdn2d and fused_act for StyleGAN2
在安装命令时设置环境变量 后添加BASICSR_EXT=True
.
如果使用 EDVR 和 StyleGAN2 模型, 需要使用上面的 cuda 扩展算子.BASICSR_EXT=True python setup.py develop
否则, 安装的时候不会编译 cuda 算子.
python setup.py develop
你或许需要指定 CUDA 路径:
CUDA_HOME=/usr/local/cuda \ CUDNN_INCLUDE_DIR=/usr/local/cuda \ CUDNN_LIB_DIR=/usr/local/cuda \ python setup.py develop
注意: BasicSR 仅在 Ubuntu 下进行测试,或许不支持Windows. 可以在Windows下尝试支持CUDA的Windows WSL :-) (目前只有Fast ring的预览版系统可以安装).
参见 project boards.
- 数据准备步骤, 参见 DatasetPreparation_CN.md.
- 目前支持的数据集 (
torch.utils.data.Dataset
类), 参见 Datasets_CN.md.
- 训练和测试的命令, 参见 TrainTest_CN.md.
- Options/Configs配置文件的说明, 参见 Config_CN.md.
- Logging日志系统的说明, 参见 Logging_CN.md.
- 目前支持的模型描述, 参见 Models_CN.md.
- 预训练模型和log样例, 参见 ModelZoo_CN.md.
- 我们也在 wandb 上提供了训练曲线等:
参见 DesignConvention_CN.md.
下图概括了整体的框架. 每个模块更多的描述参见:
Datasets_CN.md | Models_CN.md | Config_CN.md | Logging_CN.md
本项目使用 Apache 2.0 license.
更多关于许可和致谢, 请参见 LICENSE.
如果 BasicSR 对你有所帮助, 可以考虑引用BasicSR.
下面是一个 BibTex 引用条目, 它需要 url
LaTeX package.
@misc{wang2020basicsr,
author = {Xintao Wang and Ke Yu and Kelvin C.K. Chan and
Chao Dong and Chen Change Loy},
title = {BasicSR},
howpublished = {\url{https://github.com/xinntao/BasicSR}},
year = {2020}
}
Xintao Wang, Ke Yu, Kelvin C.K. Chan, Chao Dong and Chen Change Loy. BasicSR. https://github.com/xinntao/BasicSR, 2020.
若有任何问题, 请电邮 [email protected]
.