AI 图像编辑工具 DragGAN 正式发布,完整体验教程来啦!
5 月,DragGAN 横空出世,在开源代码尚未公布前,就在Github上斩获近 20000 Star,彼时,页面上只有效果图和一句“Code will be released in June”,然而这也足够带给人们无限期待。
在6月末,在若干非官方复现代码发布后,官方版DragGAN终于发布,我们也第一时间在矩池云上进行了尝试。

上传模型和数据
在租用机器前我们先上传需要的模型和数据到矩池云网盘,这样租用机器后就可以直接使用了。
DragGAN 提供了一个下载模型的脚本,但是里面的链接都是外网链接,服务器里直接运行下载可能很慢,所以我们需要提前本地下载好,然后上传到矩池云网盘再租用机器使用。
如果你本地下载也很慢,也可以通过云盘下载。
本地下载好后,把相关文件上传到矩池云网盘即可。

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

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

配置环境
clone 代码
经常修改的代码和数据集建议放矩池云网盘,Linux 系统实例中网盘对应机器中的 /mnt
目录,永久存储,可以离线上传下载数据。
我们点击 Jupyterlab 链接即可直接访问服务器,新建一个 Terminal,输入以下指令 clone 项目。

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

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

运行项目
环境配置好后就可以开始运行项目了,DragGAN 提供了两种运行方法 基于 Gradio 的 Web 应用和基于 imgui 的桌面程序。
配置模型权重
最开始我们已经下载上传了模型权重文件到网盘,所以这里我们只需要将相关文件复制到项目对应文件夹下即可。
以我为例,我的模型都上传在网盘的 example/models 下了,对应机器中的/mnt/example/models
目录。

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

运行基于 Gradio 的 Web 应用
Gradio web 应用默认是在启动在本地回环地址(127.0.0.1),这样就只能服务器里访问,没法通过公网地址访问,所以我们需要稍微改动下代码。
Jupyterlab 中打开项目文件夹下的visualizer_drag_gradio.py
文件,移动到最后一行,在app.launch
中添加server_name="0.0.0.0"
即可解决前面说的问题。(如下图所示)

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

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

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


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

浅尝 Drag

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