本地安装并测试 DragGAN:Matthew Berman 的 2023 年演示

原标题Installing and Testing DragGAN Locally: Matthew Berman’s 2023 Walkthrough

回顾一次基于点的图像编辑演示,以及早期 DragGAN 版本的依赖问题、解决办法和局限。

MBMatthew Berman讲者 · Forward Future
频道
Matthew Berman
发布
2023年7月4日
视频
9:01
阅读
4 分钟
幻灯片
3
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

Matthew Berman 在 Mac 上安装官方 DragGAN 代码,处理依赖和图形界面问题,并演示如何编辑生成的狮子、猫和人脸图像。他在 2023 年 7 月介绍的步骤反映的是当时遇到的软件和硬件情况;当前的安装要求可能不同。

  1. 1基于点的编辑选择起始点和目标点,让模型调整图像特征。画面展示的例子使用的是生成图像。
  2. 2修复环境依赖Berman 修改当时版本的 Conda 环境文件,以解决 Mac 上的依赖问题。
  3. 3图形界面的替代方案原生图形界面崩溃后,他在浏览器中启动 Gradio 可视化界面。
  4. 4测试编辑效果狮子、猫和人脸示例既展示了成功的变化,也展示了局限和看似卡住的步骤计数器。

要点建议

  1. DragGAN 利用生成模型将选定的图像特征移向目标点。
  2. 演示中的配置需要 Conda 环境、预训练模型文件和 Gradio 界面。
  3. Berman 在 Mac 和 Windows 上测试早期版本时遇到了 GPU 和界面方面的限制。
  4. 编辑真实照片需要合适的反演流程;演示使用的是生成图像。
全文

按章节阅读整理后的全文

只看原始文稿
01

DragGAN 的作用

Berman 介绍基于点的图像编辑,并表示初始版本安装困难。视频包含 Rosebud 赞助内容。

DragGAN 允许你在图像上选点,并将特征移向目标位置。我在 2023 年 7 月制作这期视频时,代码刚刚发布,我发现安装过程令人困惑且存在问题。以下步骤描述的是早期版本,不能保证当前代码仓库仍使用相同命令或依赖。视频由 Rosebud 赞助。

演示展示了移动一个点如何改变主体形状。我在这里运行的例子使用的是预训练 GAN 模型生成的图像。虽然我最初说可以处理任何图像,但项目说明指出,编辑真实照片前需要单独的 GAN 反演步骤;任意照片不能直接替代这些生成示例。

02

配置环境

他克隆代码仓库,创建 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 机器有不同要求。

原始 Conda 环境文件
幻灯片 1 / 3原始 Conda 环境文件视频展示了 Berman 为 Mac 配置调整的 CUDA 和 SciPy 条目。

对于 Windows,我提到文档指定的 CUDA 版本很难找到,因此尝试了其他版本;但兼容性取决于实际的 GPU、驱动和软件包版本。保存文件后,我重新创建环境,并运行 `conda activate stylegan3` 激活环境。这些变通办法只针对我测试的版本和机器。

我运行 `pip install -r requirements.txt` 安装所需依赖,并纠正了文档中看到的文件名。我遇到了一个错误,认为可以继续,但并没有证明它在所有环境中都无害。在 Mac 上,我设置 `PYTORCH_ENABLE_MPS_FALLBACK=1`,让不受 MPS 支持的操作回退到 CPU;这项设置不能保证整个应用都在 GPU 上运行。

03

模型与 Gradio 界面

Berman 启用 MPS 回退,下载预训练模型,并在原生图形界面崩溃后改用 Gradio。他的测试没有证实 GPU 加速正常工作。

接下来,我运行 `python scripts/download_model.py` 下载预训练模型。下载文件可能很大,可用的模型检查点对应不同主体,包括狮子、狗、马、大象和人脸。选择合适的模型,会影响所生成和编辑的图像类型。

原生图形界面启动脚本 `sh scripts/gui.sh` 在我的机器上触发了段错误。我的变通办法是运行 `python visualizer_drag_gradio.py`,启动一个本地网页界面,再用浏览器打开。这是我在自己的配置中观察到的解决方法,并不是适用于所有崩溃情况的通用修复。

界面提供预训练模型选择器、设置项、点控制工具以及启动和停止按钮。我选择一只狮子,选定头部当前位置和希望移动到的位置,然后开始编辑。狮子头部明显移动,展示了基于点的编辑效果。

04

编辑生成图像

他调整狮子、猫和人脸图像,然后报告计数器问题和一次失败的转头尝试。这些例子展示了早期演示的效果和局限。

拖动狮子图像上的点
幻灯片 2 / 3拖动狮子图像上的点Gradio 界面展示了预训练模型、点控制工具,以及生成狮子图像上选定的位置。

画面的步骤计数似乎在 100 后停止更新,尽管终端仍在报告步骤。仅凭这一点,我无法判断图像是否仍在发生有效变化,因此我停止处理并下载结果。在 Windows 测试中,工作看起来由 CPU 完成;我当时还没有让 Windows 的 GPU 加速或 Mac 的 Metal 按预期工作。

我重置点位,再次移动狮子,然后切换到猫模型,让猫睁开眼睛。最后,我选择 FFHQ 人脸模型,尝试让人物微笑并转头。微笑发生了变化,但测试中的转头尝试没有产生明显效果。

正在编辑猫眼
幻灯片 3 / 3正在编辑猫眼标记的起始点和目标点展示了基于点的编辑交互。

重置点位后,我改为移动下唇;笑容变得大得多,虽然有点不自然。早期版本能够产生惊人的变化,但我的实验也表明,安装、加速和部分编辑功能都不够可靠。我计划等工具更稳定后再回来尝试。

同频道的其他文章

12 张幻灯片34:21EN → 简体中文
Matthew Berman· 2026年10月27日Matthew Berman 解读 Anthropic 的上市文件、AI 增长与治理Matthew Berman, Sam Altman · Forward Future主持人审视 S-1 中的财务指标、算力战略和投票结构,并质疑 AI 快速发展与安全之间的张力。AnthropicAI Safety企业 AI+2
0:26EN → 简体中文
Matthew Berman· 2026年10月25日Sam Altman 谈 AI 世界中的人类价值与问题解决Sam Altman · OpenAI在一段简短的访谈摘录中,Altman 思考解决难题的乐趣,以及人在解读结果时的作用。Human-AI CollaborationFuture of WorkAI Strategy
2 张幻灯片0:36EN → 简体中文
Matthew Berman· 2026年10月25日Kimi K3.1 与魔方求解演示Matthew Berman · Forward FutureMatthew Berman 展示一个被打乱的虚拟魔方如何复原,并对 Kimi K3.1 的测试给予积极评价。评估编程智能体Open-weight models
2 张幻灯片0:21EN → 简体中文
Matthew Berman· 2026年10月24日AI 生成的 Kimi 基准图表使用了虚构分数Matthew Berman · Forward FutureMatthew Berman 要求生成一张 Kimi K3.1 Pro 基准图表,随后发现图中的数字只是示意性占位值。Benchmarks评估Generative media
6 张幻灯片25:50EN → 简体中文
Matthew Berman· 2026年10月24日Kimi K3.1 Pro 实测:3D 演示出色,表现不一,价格有竞争力Matthew Berman · Forward FutureMatthew Berman 测试这款开放权重模型的编程、3D 渲染和视觉讲解能力,并比较基准成绩与价格。Open-weight modelsBenchmarksAI cost & performance+1
2 张幻灯片32:20EN → 简体中文
Matthew Berman· 2026年10月23日本地 AI 究竟适合谁?成本、取舍与混合模式的未来Matthew Berman · Forward FutureMatthew Berman 权衡数据控制和自主权,与硬件成本、设置复杂度及推理速度之间的关系。Local inferenceOpen-weight modelsAI cost & performance+1