基于 PyTorch 的 Real-ESRGAN 模型实现,该模型在自定义数据集上进行训练。相比于原始版本,本模型在人脸处理上展现出更优的结果。同时,将其集成到您的项目中也更为简便。
Real-ESRGAN 是一个经过升级的 ESRGAN,通过纯粹的合成数据训练,能够为常见的现实世界图像增强细节,同时去除恼人的瑕疵。
表1 硬件设备
| 设备型号 | NPU配置 |
|---|---|
| Atlas 800I A2 | 8*64G |
| Atlas 800T A2 | 8*64G |
表2 软件版本配套表
| 配套 | 版本 | 环境准备指导 |
|---|---|---|
| PyTorch | 2.9.0 | |
| torch-npu | 2.9.0 | |
| CANN | 8.5.0 | |
| Transformers | 4.57.6 | |
| Python | 3.11.14 | |
| npu-smi | 25.5.0 |
方式一、通过vllm-ascend镜像安装部署
点击下载链接,打开网页后,选择 v0.17.0rc1 版本下载
1、执行以下命令下载
docker pull quay.io/ascend/vllm-ascend:v0.17.0rc1-openeuler2、执行以下命令查看镜像是否下载成功
docker images | grep v0.17.0rc1-openeulerRealESRGAN_x2plus:
https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth
RealESRGAN_x4plus:
https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth
docker run -itd -u root \
--net=host \
--privileged=true \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci4 \
--device=/dev/davinci5 \
--device=/dev/davinci6 \
--device=/dev/davinci7 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /root:/root \
-p 8001:8001 \
--shm-size 1024g \
--name vllm-ascend-wlh2 \
quay.io/ascend/vllm-ascend:v0.17.0rc1-openeulerdocker exec -it -u root vllm-ascend-wlh2 bashpip uninstall vllm_ascend
pip uninstall vllm
cd /workspace
git clone https://github.com/XPixelGroup/BasicSR
cd BasicSR/
pip install -r requirements.txt
python setup.py install安装服务包
cd /workspace
git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN/
pip install facexlib
pip install gfpgan
pip install Pillow
python setup.py install在开头添加
import torch
import torch_npu
from torch_npu.contrib import transfer_to_npu将下载的权重放到/workspace/Real-ESRGAN/weights 下
mv RealESRGAN_*.pth /workspace/Real-ESRGAN/weights python inference_realesrgan.py -n RealESRGAN_x2plus -i inputs在推理代码前添加以下代码:
import torch
import torch_npu
from torch_npu.contrib import transfer_to_npunvidia-smi相关命令修改为npu-smi info
Traceback (most recent call last):
File "/workspace/Real-ESRGAN/inference_realesrgan.py", line 2, in
解决方式: 更新opencv-python-headless版本保持和opencv-python一致
Testing 8 video
Traceback (most recent call last):
File "/workspace/Real-ESRGAN/inference_realesrgan.py", line 169, in
解决方式: 1、去掉inputs/vedio目录 或者2、使用inference_realesrgan_video.py推理视频,需要yum或apt安装ffmpeg包
https://github.com/xinntao/Real-ESRGAN/blob/master/README_CN.md