基于超分辨率重建算法的环境搭建


有条件的,推荐使用Ubuntu系统配置开发环境,Ubuntu是Linux的一个发行版之一,适合新手,界面友好,操作简单。

本人现在的电脑已安装win11系统,因此后续将会以Windows系统作为开发环境,但这并不影响算法原理与代码的讲解。

本人的笔记本配置如下:

CPU:AMD Ryzen 7 5800H

显卡:RTX 3050Ti

系统:Windows 11

安装好Windows系统和必要的驱动后,需要安装的工具有:CUDA、Anaconda3、cuDNN、Pytorch-gpu、Fluent Terminal(可选)。

1、CUDA

CUDA,是显卡厂商NVIDIA推出的运算平台。我们需要根据自己显卡的型号选择支持的CUDA版本,例如RTX 2060 Super支持CUDA 10,下载地址:点击查看

傻瓜式安装,很简单。

安装好后,需要再配置下系统的环境变量,电脑->鼠标右键->属性->高级系统设置->环境变量->Path:

添加自己的NVSMI路径到环境变量中,

配置好后,就可以在cmd中使用nvidia-smi指令查看显卡了。

2、Anaconda3

Anaconda 是一个免费、易于安装的包管理器、环境管理器和 Python 发行版,包含 1,500 多个开源包,并提供 免费社区支持。Anaconda 与平台无关,因此无论您在 Windows、macOS 还是 Linux 上都可以使用它。

选择系统相应的版本,这里因为我是在Windows上进行部署的,点击Windows版本的64-Bit Graphical Installer,安装直接傻瓜式下一步就行。

安装好后,需要添加系统环境变量,方法步骤同CUDA大致相同,只需找到Path并将Anaconda路径加入其中就可以了,要添加的路径类似:

D:\Anaconda
D:\Anaconda\Scripts

配置好后,在cmd中运行conda -V没有报错,有版本信息输出,说明配置成功。

3、cuDNN和Pytorch安装

cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。

安装好Anaconda之后,可以使用conda安装cuDNN和Pytorch。

打开Anaconda Prompt,这是Anaconda自带的命令行工具,先一定要用这个工具创建环境,直接用系统自带的cmd,可能遇到一些奇怪的问题,例如CondaHTTPError的错误。在Anaconda Prompt中输入:

conda create -n your_name jupyter notebook

这句话的意思是创建一个名字为your_name的虚拟环境,并且这个虚拟环境额外安装jupyter notebook第三方库。可以将your_name改为你自己喜欢的名字,这个名字是你的虚拟环境的名字,自己随便取,比如jack。

随后,输入y进行安装:

安装好后,可以通过指令conda info -e查看已有环境情况。

从上图可以看到,有两个环境,一个是base,自带的基础环境,另一个是我们新创建的名为demo的环境。新建环境的原因是,我们可以分开管理我们配置的环境。

安装好环境后,我们就可以激活jack环境,并安装cuDNN和GPU版的Pytorch了。激活名为demo的环境:

activate demo

可以看到,我们的环境已经行(base)切换到(demo)。在demo环境中安装cuDNN:

conda install cudnn

安装cuDNN好后,安装Pytorch,打开Pytorch官网:点击查看_

根据自己的环境选择,选择好后,网页会自动给出需要运行的指令。这里可能需要区分下CUDA的版本。

CUDA版本查看方法,在命令行中输入nvidia-smi:

我笔记本上的CUDA版本为11.2,确定好版本后,就可以通过Pytorch官网提供的指令安装GPU版本的Pytorch了。

这里值得注意的是(30系显卡安装Pytorch时):

如果你的电脑配置的是30系显卡,发生以下情况时,是由于Pytorch里面CUDA10.2选项和30系显卡不兼容。
这是个巨坑,30系显卡暂时不支持CUDA11以下版本,CUDA不支持当前显卡的算力。
虽然按道理来说CDUA是向下兼容的,比如你的电脑里安装的是CUDA11.3,在安装Pytorch时由于CUDA是向下兼容的,安装CUDA10.2是完全可以的。
但是,安装Pytorch时30系的显卡不能选择CUDA10.2,否则在运行算法程序的时候就会报错(反正在我电脑上报错了):
    GeForce RTX 3050 Ti Laptop GPU with CUDA capability sm 86 is not compatible with the current PyTorch 		installation.
    The current PyTorch install supports CUDA capabili
    7sm_50sm_60sm_61sm_70sm_75
    compute_ 37.
    If you want to use the GeForce RTX 3050
    Ti Laptop 
    GPU with PyTorch, please check the instructions at https://pytorch. org/ get- started/ locally/
    
这时,只需要卸载原本的Pytorch,重新下载安装适配的CUDA11以上的版本,通过Pytorch官网提供的指令安装对应版本版本的Pytorch就可以了。


可以点击下方查看:
查看显卡算力
在这里插入图片描述
CUDA支持的显卡算力
在这里插入图片描述
从中可以看到这句话:a cubin generated for compute capability 7.0 is supported to run on a GPU with compute capability 7.5, however a cubin generated for compute capability 7.5 is not supported to run on a GPU with compute capability 7.0, and a cubin generated with compute capability 7.x is not supported to run on a GPU with compute capability 8.x
差不多意思就是:
(1)算力为7.0的cuda支持在算力为7.5上运行
(2)算力为7.5的cuda不支持在算力为7.0上运行
(3)算力为7.x的cuda不支持在算力为8.x上运行
我们前面已经发现30系显卡算力全部在8.x。而在文档中可以发现cuda10版本支持最高算力是7.x,因此不支持30系显卡。
至此,基础的环境已经搭建完成,下面进行详细的算法运行说明。

4、Fluent Terminal

基础环境配好了,正常使用已经够了。

但是追求颜值的人,可能会觉得,Windows自带的命令行工具和Anaconda提供的命令行工具都太丑了。

有没有好看,又好用的Terminal?答案是有的,不过需要自己配置,并且还有一些坑需要慢慢踩。

例如Fluent Terminal,它是现代的、也是我比较推荐的终端工具。它是专属于 Windows 平台,并利用UWP技术打造的颜值超高的终端模拟器。先看下颜值:

](https://cuijiahua.com/wp-content/uploads/2019/11/dl-14-17.jpg)

喜欢折腾的,可以看看这几篇文章:

告别 Windows 终端的难看难用,从改造 PowerShell 的外观开始

像MAC一样使用win10的Terminal

这种美化的工具有很多,需要自行探索,由于本文不是专门针对Terminal的美化文章,就不用过多篇幅介绍这些美化工具了。喜欢折腾的,可以根据自己的需求自行百度。

5、Real-ESRGAN算法的部署运行

Real-ESRGAN 的目标是开发出实用的图像修复算法。项目地址如下:

xinntao/Real-ESRGAN: Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. (github.com)

可以先自己看一看算法的介绍。

接下来进入正文—>

安装

  1. 把项目克隆到本地

    git clone https://github.com/xinntao/Real-ESRGAN.git
    cd Real-ESRGAN
    

​ 也可以直接在上方项目链接里直接Download。

2.安装各种项目依赖库

​ 进入项目目录下,打开 requirements.txt,删除已经安装好的Pytorch和torchvision,在命令行中进入项目目录,输入以下命令并执行。

    ```bash
    python -n pip install -r requirements.txt
    ```

到这里,算法运行环境搭建成功。

上手运行

这里我们对项目提供的对普通图片进行优化的模型进行下载和运行—>

下载训练好的模型: RealESRGAN_x4plus.pth,并将其放在项目主目录中的experiments/pretrained_models下,

然后,运行推断!

在项目主目录下,运行以下命令:

python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs --face_enhance

结果在results文件夹中。

项目运行效果:
在这里插入图片描述
]

Python 脚本的用法

虽然你使用了 X4 模型,但是你可以 输出任意尺寸比例的图片,只要实用了 outscale 参数. 程序会进一步对模型的输出图像进行缩放。

Usage: python inference_realesrgan.py -n RealESRGAN_x4plus -i infile -o outfile [options]...

A common command: python inference_realesrgan.py -n RealESRGAN_x4plus -i infile --outscale 3.5 --half --face_enhance

  -h                   show this help
  -i --input           Input image or folder. Default: inputs
  -o --output          Output folder. Default: results
  -n --model_name      Model name. Default: RealESRGAN_x4plus
  -s, --outscale       The final upsampling scale of the image. Default: 4
  --suffix             Suffix of the restored image. Default: out
  -t, --tile           Tile size, 0 for no tile during testing. Default: 0
  --face_enhance       Whether to use GFPGAN to enhance face. Default: False
  --half               Whether to use half precision during inference. Default: False
  --ext                Image extension. Options: auto | jpg | png, auto means using the same extension as inputs. Default: auto

anaconda环境基础操作

conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理和环境管理。包管理与pip的使用方法类似,环境管理则是允许用户方便滴安装不同版本的python环境并在不同环境之间快速地切换。

conda的设计理念

conda将几乎所有的工具、第三方包都当作package进行管理,甚至包括python 和conda自身。Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、各种packages等。

1.安装Anaconda。

打开命令行输入conda -V检验是否安装及当前conda的版本。

2.conda常用的命令

(1)查看安装了哪些包

conda list

(2)查看当前存在哪些虚拟环境

conda env list 
conda info -e

(3)检查更新当前conda

conda update conda

3.Python创建虚拟环境

conda create -n your_env_name python=x.x

anaconda命令创建python版本为x.x,名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到

4.激活或者切换虚拟环境

打开命令行,输入python --version检查当前 python 版本。

Linux:  source activate your_env_nam
Windows: activate your_env_name

5.对虚拟环境中安装额外的包

conda install -n your_env_name [package]

6.关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)

deactivate env_name
或者`activate root`切回root环境
Linux下:source deactivate 

7.删除虚拟环境

conda remove -n your_env_name --all

8.删除环境钟的某个包

conda remove --name $your_env_name  $package_name 

9、设置国内镜像

http://Anaconda.org的服务器在国外,安装多个packages时,conda下载的速度经常很慢。清华TUNA镜像源有Anaconda仓库的镜像,将其加入conda的配置即可:

# 添加Anaconda的TUNA镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

# TUNA的help中镜像地址加有引号,需要去掉

# 设置搜索时显示通道地址

conda config --set show_channel_urls yes

10、恢复默认镜像

conda config --remove-key channels

11、我的.condarc配置

channels:
  - defaults
show_channel_urls: true
channel_alias: http://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

参考资料

xinntao/Real-ESRGAN: Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration. (github.com)

Pytorch深度学习实战教程(一):语义分割基础与环境搭建 (cuijiahua.com)

【语义分割】综述——一文搞定语义分割_ShuqiaoS的博客-CSDN博客

语义分割的数据集_蓬莱道人的博客-CSDN博客_小型语义分割数据集

Github下载速度慢 提升github下载速度最新解决方案 跟龟速说拜拜(持续更新 保证方案可行 建议收藏)_杀手的博客-CSDN博客_github下载加速

PIP 更换国内安装源_佛系程序员-CSDN博客_pip换源

Python 修改 pip 源为国内源 - 137point5 - 博客园 (cnblogs.com)

anaconda 完全卸载——重装_m0_46491438的博客-CSDN博客_如何重装anaconda

windows下的scoop的一些使用 - _已重置 - 博客园 (cnblogs.com)

Windows下Scoop安装、配置与使用_luoyooi的博客-CSDN博客_scoop

pip install 时 WARNING: No metadata found in e:\anaconda\lib\site-packages 问题解决_疯魔coding君的博客-CSDN博客

dows下的scoop的一些使用 - _已重置 - 博客园 (cnblogs.com)](https://www.cnblogs.com/godots/p/14802665.html)

Windows下Scoop安装、配置与使用_luoyooi的博客-CSDN博客_scoop

pip install 时 WARNING: No metadata found in e:\anaconda\lib\site-packages 问题解决_疯魔coding君的博客-CSDN博客

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connec_球场书生的博客-CSDN博客

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值