Restormer Efficient Transformer for High-Resolution Image Restoration论文代码运行记录

news2025/2/23 11:56:58

文章目录

    • Restormer代码训练和测试运行记录
      • 文章及代码地址
      • 1. 所需环境
      • 2. 配置环境
      • 3. 安装gdrive以便下载数据集
      • 4. 放置权重文件
      • 5. 运行Demo
      • 运行单图像散焦去模糊
      • 训练、测试

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

文章及代码地址

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

github代码地址: CVPR 2022–Oral] Restormer

我的百度网盘:链接:https://pan.baidu.com/s/1z89DzRazG2HBO8uBFUPJFg?pwd=k1fn
提取码:k1fn

我百度网盘代码所含内容:

  1. 创建了requirements.txt文件,除了torch,其他的依赖都包括其中。
  2. 为了下载谷歌数据集所需的gdrive安装包,go安装包。(只能在linux中使用)
  3. 包含单图像散焦去模糊的预训练权重,其他所有的权重文件单独放一个网盘来了,按需下载。

所有权重文件百度网盘:链接:https://pan.baidu.com/s/1Kjg8KhITGheXDjRZwp3rKA?pwd=1pof
提取码:1pof

1. 所需环境

3060 Laptop+WSL 22.04+ cuda 11.8 +~~PyTorch 1.8.1(无法使用)~~PyTorch 2.0.1 (可使用)

错误

错误一:3060 Laptop架构无法使用作者原有的PyTorch 1.8.1版本,会报错如下。我猜测30系显卡应该都会报错,因为30系显卡都是sm_86架构,PyTorch 1.8.1 只支持最高sm_75架构。

虽说安装1.8版本,可以通过 torch.cuda.is_abailable()查看返回是True,但是无法运行该代码。

/home/wang/miniconda3/envs/Restormer/lib/python3.8/site-packages/torch/cuda/__init__.py:104: UserWarning:
NVIDIA GeForce RTX 3060 Laptop GPU with CUDA capability sm_86 is not compatible with the current PyTorch installation.
The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.

在这里插入图片描述

2. 配置环境

  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文件,因此我们自己创建一个。如果你通过网盘下载的文件夹,里面包含该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. 安装依赖

    # 下面是作者的版本,因为30系显卡不支持PyTorch1.8了,咱们直接最新版吧。
    #  conda install pytorch=1.8 torchvision cudatoolkit=10.2 -c pytorch 
    # PyTorch官网安装,这是适用于cuda 11.8的 2.0.1版本。
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    pip install requirements.txt
    

在这里插入图片描述

  1. 安装basicsr,如果是windows可能会报错。

    python setup.py develop --no_cuda_ext
    

安装成功之后如下图所示。
在这里插入图片描述

至此环境已经准备完成。

3. 安装gdrive以便下载数据集

备注:如果你只运行demo,就没必要使用gdrive了,可以不安装。或者你自己也已经有GoPro等数据集了,也不要安装这个。如果你有自己的模糊数据集,也不用安装这个。

从谷歌云盘下载文件,需要先安装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
    

4. 放置权重文件

记得把权重文件放置在\Defocus_Deblurring\pretrained_models该目录下,本文只做了散焦去模糊的例子。

谷歌云盘地址:文件夹 - Google 云端硬盘(仅包含单图像散焦去噪权重)

因为我谷歌云盘不常用,上面的是作者提供的谷歌网盘,我保存到百度网盘中了,包含去噪、去雨、运动去模糊、散焦去模糊等全部预训练权重文件。

我的百度网盘:链接:https://pan.baidu.com/s/1Kjg8KhITGheXDjRZwp3rKA?pwd=1pof
提取码:1pof

5. 运行Demo

运行单图像散焦去模糊

如果你环境配置好了,就是第二步配置环境都已经完成,那就可以尝试运行demo了。

 python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/' --result_dir './demo/restored/'

该命令输入如下所示。

在这里插入图片描述

去模糊效果对比图。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

训练、测试

下个博客一块再写吧,累了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/519086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

获取cookies的方法及使用postman进行接口关联

第一种获取cookies的方式 看有没有专门的登录测试地址,访问来获取cookie信息,然后将cookie信息粘贴到header里面 第二种获取cookies的方式 在登录前,提前打开审查元素,然后输入账号密码后,点击登录,就可…

刚来起薪就18K,公司刚来的00后真是卷王....

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们公司来了个00后,工作都没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了…

【Java零基础入门篇】第 ⑤ 期 - 抽象类和接口(一)

博主:命运之光 专栏:JAVA入门 学习目标 1.了解什么是抽象类,什么是接口; 2.掌握抽象类和接口的定义方法; 3.理解接口和抽象类的使用场景; 4.掌握多态的含义和用法; 5.掌握内部类的定义方法和使用…

数字孪生应用 | 3D可视化技术助力智慧煤矿建设,提升煤矿生产效率

智慧煤矿数字孪生可视化平台是一种利用现代信息技术手段,对煤矿的生产过程进行实时监测、管理和控制的系统。它能够将煤矿内的数据、信息、图像等多种信息整合在一起,通过3D可视化的方式呈现给煤矿管理者和工作人员,帮助他们更好地了解煤矿的…

mysql读写分离实验

amoeba服务器 mkder amoeba tar xf amoba- mysql-binary-2. 2.0.tar.gz -C amoeba mv amoeba /usr/local 解压jdk mv jdk1.6 /usr/local/jdk1.6 vim /etc/profile export JAVA_home/usr/local/jdk1.6 export CLASSPATH.:$JAVA_HOME/lib:$JAVE_HOME/jre/lib export AM…

SpringBoot+myBatis(plus)+MySQL+VUE最基础简易的前后端全栈demo制作

网站全栈制作: 一:后端 为了跟公司后端更好的扯皮(不是),本人决定学一下java语言的后端接口书写。 项目制作:后端采用SpringBootmyBatis(plus)mysql(IDE为IDEA软件)。前端采用Vue…

奶爸式Swagger教学

目录 一、导入依赖 二、SwaggerConfig基础编程 三、Swagger 常用说明注解 1.API 2.ApiOperation 3.ApiModel 4.ApiModelProperty 5.ApiParam 6.ApilmplicitParam 一、导入依赖 <!--开启Swagger --><!-- https://mvnrepository.com/artifact/io.springf…

自动化测试框架搭建步骤教程

说起自动化测试&#xff0c;我想大家都会有个疑问&#xff0c;要不要做自动化测试&#xff1f; 自动化测试给我们带来的收益是否会超出在建设时所投入的成本&#xff0c;这个嘛别说是我&#xff0c;即便是高手也很难回答&#xff0c;自动化测试的初衷是美好的&#xff0c;而测试…

实验1 流水线及流水线中的冲突【计算机系统结构】

实验1 流水线及流水线中的冲突【计算机系统结构】 前言推荐实验1 流水线及流水线中的冲突1 实验目的2 实验平台3 实验内容和步骤4 实验结论5 实验心得 最后 前言 2023-5-12 20:22:09 以下内容源自《【计算机系统结构】》 仅供学习交流使用 推荐 无 实验1 流水线及流水线中…

【国际知名-hacker`动态`】洞悉-最新 hacker技术 新闻

国际知名-黑客动态 1、【导读】黑客 最新 技术&新闻 平台 2、【动态】每日必看的朋友圈 3、【多看看】跳出舒适圈&#xff0c;你要学的还有很多 ​ The Hacker News 报道黑客攻击、网络安全、科技新闻&#xff08;内容深入浅出>提供及时、可靠的信息) 链接&#xff1a…

面板数据的门槛|门限效应检验、阈值确定、回归结果解释

写在前面 up学习是参照一个B站大美女&#xff1a;传送门 这里做笔记总结&#xff0c;勿cue 1.为什么是门槛模型 这玩意是针对非线性的举个例子 打LOL&#xff0c;最开始接触的时候&#xff0c;是新手训练营&#xff0c;你需要画大量的时间去学习如何行走、控制角色、熟悉英雄…

使用 Selenium IDE 上手 web 自动化测试

安装 Selenium IDE 是以浏览器插件的形式使用的&#xff0c;主要包含 FireFox 和 Chrome 两种。安装方式分为&#xff1a; 在线安装&#xff1a;下载对应的浏览器插件&#xff08;chrome)。本地安装&#xff1a;把 .zip 压缩包拖到浏览器的扩展页面。 开始页面 在浏览器的插…

patchelf 和 glibc-all-in-one

小白垃圾笔记。不建议阅读。 为什么突然学这个呢&#xff1f; 因为因为因为一个栈溢出题&#xff0c;把我的ubuntu16搞崩了。具体是什么原因呢。 我很菜&#xff0c;我不知道pip是干啥的&#xff0c;之前装pwntools都是直接粘贴命令。然而这次&#xff0c;ubuntu16的python其…

冠珠瓷砖打造民族文化品牌,让中国陶成为中国潮

随着国家经济实力、综合国力的大幅度提升&#xff0c;文化自信被强势唤醒&#xff0c;“国潮”之风蔚然复兴。“讲好中国故事、传递中国文化”&#xff0c;成为民族品牌共同的愿景。冠珠瓷砖在建立之初就立足于民族品牌的打造&#xff0c;致力于“砖筑中国瓷砖硬实力”&#xf…

RFID技术在家具行业的应用

RFID技术在家具行业的应用 科技的不断进步和发展&#xff0c;RFID技术在各个领域的应用也越来越广泛&#xff0c;其中家具行业也不例外。RFID技术可以帮助家具企业实现实时追踪、管理和监控家具的生产、物流、库存以及售后服务等全流程&#xff0c;提高家具企业的生产效率和管…

算法修炼之练气篇——练气九层

博主&#xff1a;命运之光 专栏&#xff1a;算法修炼之练气篇 前言&#xff1a;每天练习五道题&#xff0c;炼气篇大概会练习200道题左右&#xff0c;题目有C语言网上的题&#xff0c;也有洛谷上面的题&#xff0c;题目简单适合新手入门。&#xff08;代码都是命运之光自己写的…

hexo + github 创建个人博客网站

环境准备 nodejs 和 npmgit 安装hexo hexo 是一个静态博客生成网站&#xff0c;可以快速制作自己的博客网站并部署 安装hexo npm install hexo-cli -g 创建项目 hexo init 本地预览 hexo s 部署到github page 新建仓库 创建一个名为[用户名].github.io的仓库 下载自动部署插…

三本毕业,银行外包测试工作 4 个月有余.....

本人普通三本本科毕业 4 年&#xff0c;目前是在广州工作&#xff0c;是一家大型的人力外包公司外包到银行的测试人员&#xff0c;这可能也是长期在各大招聘软件上最积极的招聘岗位。 从入职到现在已经有四个月了&#xff0c;也大概了解了外包的主要工作情况&#xff0c;也有了…

Android 性能优化的真谛,你领悟到了吗?

当今移动应用已经成为人们生活中不可或缺的一部分&#xff0c;而Android平台也是最受欢迎的移动操作系统之一。但是&#xff0c;由于Android平台的开放性和多样性&#xff0c;开发者需要特别注意应用的性能问题。本文将介绍一些Android性能优化的方法&#xff0c;帮助开发者提高…

六年间全球十大勒索攻击事件盘点:没有底线全是算计

自2017年WannaCry席卷全球以来&#xff0c;勒索软件攻击不断演变&#xff0c;并逐渐形成产业化&#xff0c;其攻击规模、影响及破坏效果进一步扩大&#xff0c;已经对全球制造、金融、能源、医疗、政府组织等关键领域造成严重影响&#xff0c;在某些事件中&#xff0c;攻击者挟…