30 秒看懂
Matthew Berman 在 Mac 上安装官方 DragGAN 代码,处理依赖和图形界面问题,并演示如何编辑生成的狮子、猫和人脸图像。他在 2023 年 7 月介绍的步骤反映的是当时遇到的软件和硬件情况;当前的安装要求可能不同。
- 1基于点的编辑选择起始点和目标点,让模型调整图像特征。画面展示的例子使用的是生成图像。
- 2修复环境依赖Berman 修改当时版本的 Conda 环境文件,以解决 Mac 上的依赖问题。
- 3图形界面的替代方案原生图形界面崩溃后,他在浏览器中启动 Gradio 可视化界面。
- 4测试编辑效果狮子、猫和人脸示例既展示了成功的变化,也展示了局限和看似卡住的步骤计数器。
要点建议
- DragGAN 利用生成模型将选定的图像特征移向目标点。
- 演示中的配置需要 Conda 环境、预训练模型文件和 Gradio 界面。
- Berman 在 Mac 和 Windows 上测试早期版本时遇到了 GPU 和界面方面的限制。
- 编辑真实照片需要合适的反演流程;演示使用的是生成图像。
按章节阅读整理后的全文
DragGAN 的作用
Berman 介绍基于点的图像编辑,并表示初始版本安装困难。视频包含 Rosebud 赞助内容。
DragGAN 允许你在图像上选点,并将特征移向目标位置。我在 2023 年 7 月制作这期视频时,代码刚刚发布,我发现安装过程令人困惑且存在问题。以下步骤描述的是早期版本,不能保证当前代码仓库仍使用相同命令或依赖。视频由 Rosebud 赞助。
演示展示了移动一个点如何改变主体形状。我在这里运行的例子使用的是预训练 GAN 模型生成的图像。虽然我最初说可以处理任何图像,但项目说明指出,编辑真实照片前需要单独的 GAN 反演步骤;任意照片不能直接替代这些生成示例。
配置环境
他克隆代码仓库,创建 Conda 环境,并为自己的 Mac 调整依赖。他提到的 Windows 使用经历和 CUDA 版本建议都属于当时的情况。
我使用 Conda 管理 Python 环境。我在 Mac 上演示这个过程,并表示自己在 Windows 上也运行了类似配置。测试时文档还在变化,因此我复制仓库地址、克隆仓库、进入 DragGAN 目录,然后尝试运行 `conda env create -f environment.yml`。
在我的机器上,最初的环境创建过程无法解析两个软件包。我从当时的 `environment.yml` 中移除了不适用于 Mac 的 CUDA 工具包依赖,并将 SciPy 从 Conda 依赖移到 pip 部分,把版本分隔符从 `=` 改为 `==`。CUDA 是 NVIDIA 的技术;使用 NVIDIA GPU 的 Windows 机器有不同要求。

对于 Windows,我提到文档指定的 CUDA 版本很难找到,因此尝试了其他版本;但兼容性取决于实际的 GPU、驱动和软件包版本。保存文件后,我重新创建环境,并运行 `conda activate stylegan3` 激活环境。这些变通办法只针对我测试的版本和机器。
我运行 `pip install -r requirements.txt` 安装所需依赖,并纠正了文档中看到的文件名。我遇到了一个错误,认为可以继续,但并没有证明它在所有环境中都无害。在 Mac 上,我设置 `PYTORCH_ENABLE_MPS_FALLBACK=1`,让不受 MPS 支持的操作回退到 CPU;这项设置不能保证整个应用都在 GPU 上运行。
模型与 Gradio 界面
Berman 启用 MPS 回退,下载预训练模型,并在原生图形界面崩溃后改用 Gradio。他的测试没有证实 GPU 加速正常工作。
接下来,我运行 `python scripts/download_model.py` 下载预训练模型。下载文件可能很大,可用的模型检查点对应不同主体,包括狮子、狗、马、大象和人脸。选择合适的模型,会影响所生成和编辑的图像类型。
原生图形界面启动脚本 `sh scripts/gui.sh` 在我的机器上触发了段错误。我的变通办法是运行 `python visualizer_drag_gradio.py`,启动一个本地网页界面,再用浏览器打开。这是我在自己的配置中观察到的解决方法,并不是适用于所有崩溃情况的通用修复。
界面提供预训练模型选择器、设置项、点控制工具以及启动和停止按钮。我选择一只狮子,选定头部当前位置和希望移动到的位置,然后开始编辑。狮子头部明显移动,展示了基于点的编辑效果。
编辑生成图像
他调整狮子、猫和人脸图像,然后报告计数器问题和一次失败的转头尝试。这些例子展示了早期演示的效果和局限。

画面的步骤计数似乎在 100 后停止更新,尽管终端仍在报告步骤。仅凭这一点,我无法判断图像是否仍在发生有效变化,因此我停止处理并下载结果。在 Windows 测试中,工作看起来由 CPU 完成;我当时还没有让 Windows 的 GPU 加速或 Mac 的 Metal 按预期工作。
我重置点位,再次移动狮子,然后切换到猫模型,让猫睁开眼睛。最后,我选择 FFHQ 人脸模型,尝试让人物微笑并转头。微笑发生了变化,但测试中的转头尝试没有产生明显效果。

重置点位后,我改为移动下唇;笑容变得大得多,虽然有点不自然。早期版本能够产生惊人的变化,但我的实验也表明,安装、加速和部分编辑功能都不够可靠。我计划等工具更稳定后再回来尝试。
同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文