就在昨日(23/06/25)晚上,在前段时间备受瞩目的 DragGAN 悄然发布了完整的源代码。笔者榜首时间测验上手体验,在踩了一些坑后,终于运用 Colab 跑成功了。简单记载如下
作用
依照常规,先放作用(无加快,Colab T4)
经典需求:让大象转个头
运转
本地运转
项目的源代码在 XingangPan/DragGAN: Official Code for DragGAN,假如你期望本地运转,能够参阅里边顺便的指引。关于 GPU 设备,我的测验里 8GB 显存应该足以运转了。 先 Clone 源代码:
git clone https://github.com/XingangPan/DragGAN
源码里有 conda 的 environment.yml
,能够拿 Conda 的方法创立虚拟环境;但没有顺便 requirements.txt
。假如你期望运用 pip 装置依靠,据我测验,应该需要装置的依靠有:
pip install torch torchvision Ninja gradio huggingface_hub hf_transfer
运用以下命令下载模型:
# 下载 human 模型
wget -O DragGAN/checkpoints/stylegan_human_v2_512.pkl --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1dlFEHbu-WzQWJl7nBBZYcTyo000H9hVm' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1dlFEHbu-WzQWJl7nBBZYcTyo000H9hVm" && rm -rf /tmp/cookies.txt
# 下载更多类型的模型
cd DragGAN && sh scripts/download_model.sh
然后直接运转
cd DragGAN && python visualizer_drag_gradio.py
即可用 Gradio 打开;或者参阅官方的 README 履行 visualizer_drag.py
Colab
关于我,鉴于没得 GPU 设备,只能去用免费的 GPU 资源。这儿选择的是 Google Colab,门槛只需要一个 Google 账号。大家也能够点击 我的 Colab 笔记本链接 自行运转即可。注意,运转时一定要选 GPU 类型的。
成功的截图如下:
运用
打开的终究页面如下,左边是操作区,右侧是图片的展示。简单列举一下:
左上角: 如下图,左上角榜首栏是选择现有的模型,第二栏 “Seed” 用于控制随机种子(同一个种子生成的图片是相同的),下面的 Step Size 用于设置迭代的步幅。
整个的根本操作逻辑是:
- 输入种子,生成一张图
- 鼠标点击图片上的方位开端 “选点”,两个一组,分别控制变换的 “开端方位” 和 “完毕方位”。
- 完成后点击 Start 开端变换,到差不多了你能够点个 Stop 手动停止
别的作者也附了一些说明,翻译如下:
快速开端
- 选择所需的预训练模型,并调整种子(Seed)生成初始图画。
- 点击图画以添加控制点。
- 点击开端,尽情享用!
高级用法
-
调整步长(Step Size)以调整拖拽优化中的学习率。
-
选择
w
或w+
来改动潜空间以进行优化:- 在
w
空间上进行优化可能对图画发生较大影响。 - 在
w+
空间上进行优化可能比w
空间更慢,但一般能够取得更好的结果。
- 在
-
请注意,改动潜空间将重置图画、控制点和蒙版(这发生与重置图画按钮相同的作用)。
-
点击修改可弹性区域 (Edit Flexible Area) 以创立蒙版,并约束未被遮罩的区域保持不变。
结语
现在来回答我的标题:为什么说 “强壮但不彻底强壮” 呢?
首先,“强壮” 是因为这样的作用的确很冷艳,榜首眼看上去的确很有未来的风格;但很明显它的运用价值并不那么高,比如说:
- 它的图片是 StyleGAN 生成的,也就是说现在并不能随意拿一张图片让它 P
- 两个点作为引导,不可控的因素太多了。很多时候图片的变化和你的预期并不匹配。假如能做到多模态,和语言模型相结合,能经过类似于 “衣服从上至下第三颗纽扣向左移一点”,是不是更魔幻一点
- 有时候某些奇奇怪怪的元素会面目全非,比如下面的这个包
完。