在 Centos 7 中安装CUDA 并运行 CodeFormer
在 Docker 和 kubenetes 中启用 GPU (nvidia) 支持
之前写过用 docker-nvidia 快速启用 gpu,今天收到朋友发来的前女友的模糊照片,想做一个人像高清修复。
图片人像和视频人像修复,目前的神器肯定是 CodeFormer
,但 CodeFormer
现在没有 docker 版本,那按官方文档,在裸机上部署。
安装GPU驱动
检查显卡版本
yum install -y epel-release lshw kernel-devel gcc wget bzip2
lshw -numeric -C display
识别结果如下,我这是一台 N 卡 P40,p.n1p40.3xlarge(12核48GB GPU 标准型)
*-display:0
...
*-display:1
description: 3D controller
product: GP102GL [Tesla P40] [10DE:1B38]
vendor: NVIDIA Corporation [10DE]
physical id: a
bus info: pci@0000:00:0a.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=nvidia latency=0
resources: iomemory:100-ff iomemory:180-17f irq:44 memory:fb000000-fbffffff memory:1000000000-17ffffffff memory:1800000000-1801ffffff
先卸载 nouveau
cat > /etc/modprobe.d/blacklist-nvidia-nouveau.conf <<EOF
blacklist nouveau
options nouveau modeset=0
EOF
reboot
安装显卡驱动
识别到硬件Tesla P40
以后,则需要进入 nvidia 官方下载对应驱动
选择对应的硬件系列、对应的操作系统及需要的 CUDA 版本,其中,CodeFormer
要求 CUDA Toolkit 不低于 CUDA 10.1。
快速链接
https://www.nvidia.cn/download/driverResults.aspx/197212/cn/
下载好驱动以后,根据提示和安装说明,一路下一步即可。
Linux 系统上的安装命令如下
chmod +x NVIDIA-Linux-x86_64-410.129-diagnostic.run
./NVIDIA-Linux-x86_64-410.129-diagnostic.run
2023-04-04 安装 P40
时发现驱动类型变成了 rpm
,安装命令如下
wget https://cn.download.nvidia.com/tesla/515.105.01/nvidia-driver-local-repo-rhel7-515.105.01-1.0-1.x86_64.rpm
yum install -y nvidia-driver-local-repo-rhel7-515.105.01-1.0-1.x86_64.rpm
yum install cuda-drivers
确认 CUDA 版本
[root@pass-test-video CodeFormer]# nvidia-smi
Tue Jan 24 13:29:19 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.36.06 Driver Version: 450.36.06 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 Tesla P40 Off | 00000000:00:0A.0 Off | 0 |
| N/A 28C P0 45W / 250W | 0MiB / 22919MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
安装 PyTorch/anaconda
CodeFormer 依赖 Pytorch >= 1.7.1,Pytorch 的环境可以使用 anaconda
来快速创建。
安装 anaconda
的流程如下
- 安装Anaconda
1.1 下载anaconda的安装包
1.2 添加执行权限
1.3 安装anaconda
1.4 点击Enter(回车键)
1.5 输入 yes
1.6 继续点击 Enter
1.7 输入 yes,添加环境变量
1.8 完成安装以及检测是否安装成功 - Anaconda安装Pytorch
2.1 创建虚拟环境
2.2 激活环境
安装 anaconda
使用国外源 (国外用户推荐)
wget https://repo.anaconda.com/archive/Anaconda3-2022.10-Linux-x86_64.sh
chmod a+x Anaconda3-2022.10-Linux-x86_64.sh
./Anaconda3-2022.10-Linux-x86_64.sh
使用国内源 (国内用户推荐)
wget http://mirrors.aliyun.com/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh
chmod a+x Anaconda3-2022.10-Linux-x86_64.sh
./Anaconda3-2022.10-Linux-x86_64.sh
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels http://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels http://mirrors.aliyun.com/anaconda/cloud/conda-forge/
conda config --add channels http://mirrors.aliyun.com/anaconda/cloud/msys2/
conda config --add channels http://mirrors.aliyun.com/anaconda/cloud/bioconda/
conda config --add channels http://mirrors.aliyun.com/anaconda/cloud/menpo/
conda config --add channels http://mirrors.aliyun.com/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
# 安装完成后执行
source ~/.bashrc
conda -V
文件很大,耐心等待,然后根据提示一路下一下,尤其要注意添加环境变量。
最后通过 conda -V
确认是否安装成功
安装 CodeFormer
源码安装
Dependencies and Installation
Pytorch >= 1.7.1
CUDA >= 10.1
Other required packages in requirements.txt
# git clone this repository,过程较慢,耐心等待
git clone https://github.com/sczhou/CodeFormer
cd CodeFormer
# create new anaconda env,过程较慢,耐心等待
conda create -n codeformer python=3.8 -y
conda activate codeformer
# install python dependencies,过程较慢,耐心等待
pip3 install -r requirements.txt
可视化界面
CodeFormer GUI