Ubuntu22.04系统下,图像修复项目CodeFormer的部署——点动科技

一、前言:

  • 我们是使用docker环境进行部署的
  • CodeFormer 是一个很棒的开源项目sczhou/CodeFormer,被应用在许多项目中,它的论文(arxiv.org/abs/2206.11253)在 2022 年被 “经信息处理系统大会”(NeurIPS)接收后,自 2022 年 6 月代码开始放出至今的一年出头的时间里,Star 数量迅速升到了接近万星的水平,足见开源社区的认可程度。

二、开始

2.1 ubuntu和docker基本环境配置

1.更新包列表:
  • 打开终端,输入以下命令:
sudo apt-get update
sudo apt upgrade

更新时间较长,请耐心等待

2. 安装docker依赖
sudo apt-get install ca-certificates curl gnupg lsb-release
3. 添加docker密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
4.添加阿里云docker软件源
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
5.安装docker
apt-get install docker-ce docker-ce-cli containerd.i
6.安装完成docker测试
docker -v

在这里插入图片描述

7. docker配置国内镜像源
  • 7.1 编辑配置文件
vi /etc/docker/daemon.json

按i进入编辑模式

加入以下内容:

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://docker.m.daocloud.io", 
    "https://ghcr.io",
    "https://mirror.baidubce.com",
    "https://docker.nju.edu.cn"
  ]
}

按ESC键退出编辑模式,接着输入:wq,保存并退出

  • 7.2 重新加载docker
sudo systemctl daemon-reload
  • 7.3 重启docker
sudo systemctl restart docker

2.2 安装英伟达显卡驱动

  • 配置存储库
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \
    | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \
    | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \
    | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
  • 更新包列表
sudo apt-get update
  • 安装 NVIDIA Container Toolkit 软件包
sudo apt-get install -y nvidia-container-toolkit
  • 配置 Docker 以使用 Nvidia 驱动程序
sudo nvidia-ctk runtime configure --runtime=docker
  • 重新启动docker
sudo systemctl restart docker

2.3 快速封装一个 CodeFormer Docker 容器应用

2.3.1 从 Docker CodeFormer 项目下载代码,并进入项目目录:

git clone https://github.com/soulteary/docker-codeformer.git
cd docker-codeformer

2.3.2 执行项目中的镜像构建工具:

scripts/build.sh
  • 这里请耐心等待镜像构建完毕
  • 因为项目锁定了 Python 3.8,所以我们暂时只能使用 nvidia/pytorch:23.04-py3 来作为基础镜像。

2.3.3 在完成基础镜像构建之后

  • 可以从网盘下载 weights.zip (如果地址失效,请前往在评论区反馈)。
  • 模型应用运行需要的所有模型都在这里了
  • 下载完毕后,解压缩模型压缩包,将 CodeFormer、facelib、realesrgan 三个目录放置到 weights 目录中
    完整的项目结构这样的:
.
├── LICENSE
├── README.md
├── assets
│   └── image
├── docker
│   └── Dockerfile
├── scripts
│   └── build.sh
├── src
│   ├── app.py
│   └── code-fix.py
└── weights
    ├── CodeFormer
    ├── facelib
    └── realesrgan

2.3.4 准备好模型文件之后,使用下面的命令启动模型应用:

docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --rm -it -v `pwd`/weights/:/app/CodeFormer/weights -p 7860:7860 soulteary/docker-codeformer

稍等片刻,我们将看到类似下面的日志:
Running on local URL: http://0.0.0.0:7860 To create a public link, set 'share=True' in 'launch()'.

2.3.5 我们点动云服务器端口需要改动

  • 将7860改成业务端口
  • 这里是30137
    所以:
docker run --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 --rm -it -v `pwd`/weights/:/app/CodeFormer/weights -p 30137:7860 soulteary/docker-codeformer

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值