Restormer Efficient Transformer for High-Resolution Image Restoration

文章详细记录了Restormer模型的代码训练和测试过程,包括环境配置(3060Laptop+WSL2+PyTorch),依赖安装,数据集下载(使用Golang和gdrive从谷歌云盘下载),以及如何运行Demo进行训练和测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Restormer代码训练和测试运行记录

文章及代码地址

文章名称:Restormer: Efficient Transformer for High-Resolution Image Restoration(CVPR 2022)

代码地址: CVPR 2022–Oral] Restormer

环境

3060 Laptop+WSL 22.04+PyTorch 1.8.1(无法使用)

安装

  1. 克隆仓库,并进入该文件夹

    git clone https://github.com/swz30/Restormer.git
    cd Restormer
    
  2. 新建虚拟环境

    conda create -n Restormer python=3.8
    conda activate Restormer
    
  3. 因为github没有给requirements.tet文件,因此我们自己创建一个。

    touch requirements.txt
    vim requirements.txt
    

    把如下内容复制,粘贴直接右键即可。

    matplotlib
    scikit-learn
    scikit-image
    opencv-python
    yacs
    joblib
    natsort
    h5py
    tqdm
    einops
    gdown
    addict
    future
    lmdb
    numpy
    pyyaml
    requests
    scipy
    tb-nightly
    yapf
    lpips
    
  4. 安装依赖

    conda install pytorch=1.8 torchvision cudatoolkit=10.2 -c pytorch
    pip install requirements.txt
    
  5. 安装basicsr

    python setup.py develop --no_cuda_ext
    

    至此环境已经准备完成。

下载数据集

从谷歌云盘下载文件,需要先安装Golang,然后使用Golang包管理工具“go”来安装“gdrive”。

  1. 安装 go

    curl -O https://storage.googleapis.com/golang/go1.11.1.linux-amd64.tar.gz
    mkdir -p ~/installed
    tar -C ~/installed -xzf go1.11.1.linux-amd64.tar.gz
    mkdir -p ~/go
    
  2. 将go添加到环境变量中

    export GOPATH=$HOME/go
    export PATH=$PATH:$HOME/go/bin:$HOME/installed/go/bin
    

    具体来说,这两个环境变量的含义如下:

    1. export GOPATH=$HOME/go:这个命令将设置一个名为 “GOPATH” 的环境变量,它的值为 “ H O M E / g o " ,其中 " HOME/go",其中 " HOME/go",其中"HOME” 表示当前用户的home目录。这个环境变量告诉编译器和其他工具在哪里寻找 Go 语言的源代码、二进制文件和其他相关资源。
    2. export PATH=$PATH:$HOME/go/bin:$HOME/installed/go/bin:这个命令将向系统的环境变量 “PATH” 中添加两个目录,分别为 “ H O M E / g o / b i n " 和 " HOME/go/bin" 和 " HOME/go/bin""HOME/installed/go/bin”。这些目录包含了一些与 Go 语言相关的可执行文件,例如 “go” 命令和 “gofmt” 命令等。通过将这些目录添加到 “PATH” 环境变量中,您可以在命令行中直接使用这些命令,而无需输入完整的路径。
  3. 安装 gdrive

    go get github.com/prasmussen/gdrive
    

    从 GitHub 上下载一个名为 “gdrive” 的代码库,并将其安装到您的计算机上。

    注意:上述代码可能无法使用。

    那就通过手动安装,如下命令

    wget https://github.com/prasmussen/gdrive/releases/download/2.1.1/gdrive_2.1.1_linux_386.tar.gz
    tar -xvf gdrive_2.1.1_linux_386.tar.gz
    sudo mv gdrive /usr/local/bin/
    gdrive help
    

运行Demo

训练

测试

Restormer中,Transformer是应用在高分辨率图像恢复任务中的一种方法。这篇文章提出了一种名为Restormer的高效Transformer模型,用于高分辨率图像的恢复。 虽然这是一篇Transformer的文章,但是Restormer与传统的Transformer在通道之间的注意力和传统的Transformer之间没有太多联系。文章指出,尽管之前的研究已经讨论了Transformer如何建立长距离的像素交互作用,但网络设计仍然没有充分利用Transformer的全局像素依赖属性。因此,对于低层次任务来说,是否真的有必要使用长距离像素交互仍然是一个疑问。文章中提到,即使简单的堆叠3x3的空间像素层上的卷积也能取得很好的效果,因此对于低层次的任务是否需要长距离像素交互还需要进一步研究和探讨。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Restormer Efficient Transformer for High-Resolution Image Restoration](https://blog.csdn.net/qq_36693723/article/details/130631879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [论文阅读 | Restormer: Efficient Transformer for High-Resolution Image Restoration](https://blog.csdn.net/bettii/article/details/129006581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百年孤独百年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值