5 月,DragGAN 横空出世,在开源代码尚未公布前,就在Github上斩获近 20000 Star,彼时,页面上只有效果图和一句“Code will be released in June”,然而这也足够带给人们无限期待。

在6月末,在若干非官方复现代码发布后,官方版DragGAN终于发布,我们也第一时间在矩池云上进行了尝试。

上传模型和数据

在租用机器前我们先上传需要的模型和数据到矩池云网盘,这样租用机器后就可以直接使用了。

DragGAN 提供了一个下载模型的脚本,但是里面的链接都是外网链接,服务器里直接运行下载可能很慢,所以我们需要提前本地下载好,然后上传到矩池云网盘再租用机器使用。

# 脚本地址 https://github.com/XingangPan/DragGAN/blob/main/scripts/download_model.sh
mkdir checkpoints
cd checkpoints wget https://storage.googleapis.com/self-distilled-stylegan/lions_512_pytorch.pkl
mv lions_512_pytorch.pkl stylegan2_lions_512_pytorch.pkl wget https://storage.googleapis.com/self-distilled-stylegan/dogs_1024_pytorch.pkl
mv dogs_1024_pytorch.pkl stylegan2_dogs_1024_pytorch.pkl wget https://storage.googleapis.com/self-distilled-stylegan/horses_256_pytorch.pkl
mv horses_256_pytorch.pkl stylegan2_horses_256_pytorch.pkl wget https://storage.googleapis.com/self-distilled-stylegan/elephants_512_pytorch.pkl
mv elephants_512_pytorch.pkl stylegan2_elephants_512_pytorch.pkl wget https://api.ngc.nvidia.com/v2/models/nvidia/research/stylegan2/versions/1/files/stylegan2-ffhq-512x512.pkl
wget https://api.ngc.nvidia.com/v2/models/nvidia/research/stylegan2/versions/1/files/stylegan2-afhqcat-512x512.pkl
wget http://d36zk2xti64re0.cloudfront.net/stylegan2/networks/stylegan2-car-config-f.pkl
wget http://d36zk2xti64re0.cloudfront.net/stylegan2/networks/stylegan2-cat-config-f.pkl

如果你本地下载也很慢,也可以通过云盘下载,谢谢网友分享:https://pan.quark.cn/s/d63e04863dd8

本地下载好后,把相关文件上传到矩池云网盘即可。

租用机器

本次复现使用的是 NVIDIA RTX A2000 单卡,镜像使用的是 Pytorch 2.0 ,选择好机器和镜像后我们先需要按下图指示开启 VNC 功能(Ubuntu 可视化桌面),然后高级选项自定义一个 7860 端口。

  • VNC 里我们可以运行启动 DragGAN 桌面软件
  • DragGAN Web应用使用的是 Gradio 开发,默认端口是 7860

租用成功后我们可以在租用页面看到机器的自定义端口、VNC、SSH、Jupyterlab等链接,矩池云官网有详细的教程介绍了如何使用这些链接连接服务器。

配置环境

clone 代码

经常修改的代码和数据集建议放矩池云网盘,Linux 系统实例中网盘对应机器中的 /mnt目录,永久存储,可以离线上传下载数据。

我们点击 Jupyterlab 链接即可直接访问服务器,新建一个 Terminal,输入以下指令 clone 项目。

# 进入网盘目录,我复现项目代码会归纳在一起 /mnt/example/,你改成自己目录即可
cd /mnt/example/
# clone 代码
git clone https://ghproxy.com/https://github.com/XingangPan/DragGAN

安装依赖

clone 好代码,我们进入项目目录下,安装 requirements.txt 里的依赖,按以下指令输入即可:

# 进入项目目录
cd DragGAN
# 安装依赖
pip install -r requirements.txt

看到最后这个警告信息不用管,意思是不建议你在 root 权限下操作安装,实际是安装成功了的。

运行项目

环境配置好后就可以开始运行项目了,DragGAN 提供了两种运行方法 基于 Gradio 的 Web 应用和基于 imgui 的桌面程序。

配置模型权重

最开始我们已经下载上传了模型权重文件到网盘,所以这里我们只需要将相关文件复制到项目对应文件夹下即可。

以我为例,我的模型都上传在网盘的 example/models 下了,对应机器中的/mnt/example/models目录。

# 先进入项目目录 如果紧接着之前步骤,
# 你现在应该已经在 DragGAN 项目目录下了
# 如不在,请执行 cd 指令进入对应目录
# 如:cd /mnt/example/DragGAN
# 在项目目录下创建一个 checkpoints 目录
mkdir checkpoints
# 将网盘内模型复制到 checkpoints
cp /mnt/example/models/* checkpoints

注意,按照脚本里的,里面有四个文件需要改下文件名称,cd 进入 checkpoints 目录,然后执行对应指令即可。

cd checkpoints
# 有上传对应权重就执行对应mv指令改名字
# mv lions_512_pytorch.pkl stylegan2_lions_512_pytorch.pkl
# mv dogs_1024_pytorch.pkl stylegan2_dogs_1024_pytorch.pkl
# mv horses_256_pytorch.pkl stylegan2_horses_256_pytorch.pkl
# mv elephants_512_pytorch.pkl stylegan2_elephants_512_pytorch.pkl

运行基于 Gradio 的 Web 应用

Gradio web 应用默认是在启动在本地回环地址(127.0.0.1),这样就只能服务器里访问,没法通过公网地址访问,所以我们需要稍微改动下代码。

Jupyterlab 中打开项目文件夹下的visualizer_drag_gradio.py文件,移动到最后一行,在app.launch中添加server_name="0.0.0.0"即可解决前面说的问题。(如下图所示)

项目文件夹下输入下面指令即可启动服务。

python visualizer_drag_gradio.py

项目启动成功后,你会看到项目默认启动在 7860 端口,我们直接访问租用页面的 7860 端口对应公网链接即可。

基于 imgui 的桌面程序

桌面程序需要在 VNC 里才能启动成功。复制 VNC 链接,按配置说明方法即可连接上 VNC 。

# 设置环境变量
export MESA_GL_VERSION_OVERRIDE=3.3
# 进入项目目录
cd /mnt/example/DragGAN/
# 启动程序
sh scripts/gui.sh

程序启动后即会弹出程序操作界面。

浅尝 Drag

方便下次使用,还可以在租用页面保存环境。

如何在矩池云上运行 AI 图像编辑工具 DragGAN的更多相关文章

  1. 如何在矩池云上运行FinRL-Libray股票交易策略框架

    FinRL-Libray 项目:https://github.com/AI4Finance-LLC/FinRL-Library 选择FinRL镜像 在矩池云-主机市场选择合适的机器,并选择FinRL- ...

  2. 矩池云上使用nvidia-smi命令教程

    简介 nvidia-smi全称是NVIDIA System Management Interface ,它是一个基于NVIDIA Management Library(NVML)构建的命令行实用工具, ...

  3. 矩池云上安装ikatago及远程链接教程

    https://github.com/kinfkong/ikatago-resources/tree/master/dockerfiles 从作者的库中可以看到,该程序支持cuda9.2.cuda10 ...

  4. 在矩池云上复现 CVPR 2018 LearningToCompare_FSL 环境

    这是 CVPR 2018 的一篇少样本学习论文:Learning to Compare: Relation Network for Few-Shot Learning 源码地址:https://git ...

  5. 矩池云上编译安装dlib库

    方法一(简单) 矩池云上的k80因为内存问题,请用其他版本的GPU去进行编译,保存环境后再在k80上用. 准备工作 下载dlib的源文件 进入python的官网,点击PyPi选项,搜索dilb,再点击 ...

  6. 矩池云上安装yolov4 darknet教程

    这里我是用PyTorch 1.8.1来安装的 拉取仓库 官方仓库 git clone https://github.com/AlexeyAB/darknet 镜像仓库 git clone https: ...

  7. 矩池云上TensorBoard/TensorBoardX配置说明

    Tensorflow用户使用TensorBoard 矩池云现在为带有Tensorflow的镜像默认开启了6006端口,那么只需要在租用后使用命令启动即可 tensorboard --logdir lo ...

  8. 矩池云上cifar10使用说明

    矩池云将 keras 预训练模型保存目录为 /public/keras_pretrained_model/ 使用方法: 先执行命令,创建目录 mkdir -p ~/.keras/models/ 然后将 ...

  9. 矩池云上使用nohup和&让任务后台运行

    1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg - ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup ...

  10. 在矩池云上复现 PaddleGAN 照片转油画风格教程

    我选用的是cuda10.1纯镜像 案例来自paddlepaddle官方PaddleGAN库中,可以查看 https://github.com/PaddlePaddle/PaddleGAN/ https ...

随机推荐

  1. [转帖]Linux Page cache和Buffer cache

    https://www.cnblogs.com/hongdada/p/16926655.html free 命令常用参数 free 命令用来查看内存使用状况,常用参数如下: -h human-read ...

  2. [转帖]Redis 核心篇:唯快不破的秘密

    文章系转载,方便整理和归纳,源文地址:https://z.itpub.net/article/detail/4B5A03BDDBE9A2BC3E080E278FE4D21E 以下文章来源于码哥字节 , ...

  3. [转帖]用实力诠释细节!“Java性能调优六大工具”之JDK命令行工具

    https://www.zhihu.com/people/javajia-gou-ji-zhu-44/posts   JDK命令行工具 在JDK的开发包中,除了大家熟知的java.exe和javac. ...

  4. 给python脚本传递命令行参数

    记录一下给python脚本传参数的几种方式 最简单的方式 在cmd/bat脚本中调用python脚本传递参数 #传递参数 python test.py arg1 arg2 arg3 #在python中 ...

  5. springboot整合nacos的入门Demo

    Nacos介绍 Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现.配置管理和服务 ...

  6. SqlSugar分表

    一.使用场景 (1)可扩展架构设计,比如一个ERP用5年不卡,到了10就卡了因为数据太多了,这个时候很多人都是备份然后清空数据 (2) 数据量太多 ,例如每天都有 几十上百万的数据进入库,如果不分表后 ...

  7. IDEA破解(无限重启激活时间版)

    下载地址[将下载的目录打成zip压缩包后使用]:「ide-eval-resetter」https://www.aliyundrive.com/s/UFHpDX5d6Xv 点击链接保存,或者复制本段内容 ...

  8. spring-cloud 配置管理

    作用: 实现配置热更新 实现网关配置热部署 配置模板 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc ...

  9. 小知识:安装系统后唯独搜不到自己的Wi-Fi

    遇到的问题,笔记本在安装Win10系统后在可用Wi-Fi热点中唯独搜不到自己的Wi-Fi. 咨询宽带售后的技术人员,说可能是因为我目前使用的是Wi-Fi 6,而我的笔记本可能是网卡过旧,不支持Wi-F ...

  10. layui 的tab标签,选项卡的删除,是先切换,后删除,其实这样设计挺好的。

    layui的 tab关闭时,是先触发 切换事件,然后再触发删除事件,这一点留意,其实这样设计挺好的.那么留意点,就是先向主进程发送切换消息,然后再向主进程发送删除消息, 这样反而更加有利于,主进程代码 ...