使用 HF Jobs 搭建您自己的 GPU 驱动图像生成器
您是否曾想直接从终端使用 Stable Diffusion 等强大的 AI 模型生成图像,但没有专用的 GPU?您是否更喜欢命令行而不是 Web 界面来进行创意工作?如果是这样,这篇简短指南就是为您准备的。
今天,我们将逐步完成创建一个个人命令行工具的过程,该工具能够通过 Hugging Face Jobs 的远程基础设施,只需一个命令即可生成 AI 图像。阅读完本文后,您将能够在终端中输入一行命令,几分钟后,一张精美的 AI 生成图像将直接保存到您的 Hugging Face 帐户中。
在 Hub 上创建您的图像画廊
在生成任何内容之前,我们需要一个地方来保存我们的杰作。最简单的方法是创建一个公共数据集仓库,它将充当我们的个人画廊。
- 前往
New Dataset
页面:https://huggingface.co/new-dataset - 为您的画廊选择一个名称,例如
images
。 - 确保将其设置为
Public
,以便您可以轻松查看和分享您的作品。
就是这样!现在您有了图像的目的地,例如 HF_USERNAME/images
。
只需一个脚本
现在,让我们来谈谈我们操作的核心:Python 脚本。多亏了 uv
(hf jobs
在底层使用的工具)支持的强大功能,真正的魔法就发生在这里。
忘记管理单独的 requirements.txt
文件或为简单任务构建复杂的 Docker 镜像。uv
允许我们将脚本的依赖项直接嵌入到文件本身中。
查看我们脚本的最顶部,托管在此处
# /// script
# requires-python = ">=3.11"
# dependencies = [
# "huggingface-hub[hf_transfer]",
# "pillow",
# "torch",
# "diffusers",
# "accelerate",
# "transformers",
# "python-slugify",
# ]
# ///
这个特殊的块,用 ///
括起来,是一个内联依赖项规范。当 hf jobs uv run
执行脚本时,它首先读取这个头部,立即创建一个临时环境,并安装列出的精确库。
代码及其要求共存。这使得共享和执行脚本变得异常简单和可靠。
神奇的命令
现在是有趣的部分。打开您的终端,准备运行神奇的命令
hf jobs uv run --flavor a10g-large \
https://huggingface.co/datasets/angt/scripts/resolve/main/generate-image.py \
--repo "$HF_USERNAME/images" \
--prompt "'A dramatic photo of a majestic cat sitting on a throne, cinematic lighting'" \
--hf-token $HF_TOKEN
让我们分解一下命令,以便我们准确了解每个部分的作用
hf jobs uv run
:告诉使用uv
运行远程脚本的主要命令。--flavor a10g-large
:这是我们请求硬件的地方。我们要求使用强大的 A10G GPU 以快速完成任务。https://...
:指向我们一体式 Python 脚本的直接 URL。您甚至不需要下载它!--repo "$HF_USERNAME/images"
:数据集的 ID。--prompt "'...''"
:您的创意提示。注意:您需要将提示用包含单引号的双引号括起来,以避免 shell 解释问题。--hf-token $HF_TOKEN
:您的 Hugging Face API 令牌。
瞧!几分钟后,任务完成,您的仓库中将出现一张新图像。这是我从提示中得到的雄伟猫咪
尽在您的掌控
这里的真正魔法不仅仅在于这个脚本。它在于意识到这种工作流程可以轻松适应任何任务。想想看:需要处理数据集?转录音频文件?生成文本?蓝图都是一样的:编写一个嵌入了依赖项的简单 Python 脚本,然后用一个命令将其发布到云端。
现在您拥有了创建自己的一套无服务器 AI 工具的能力,可以满足您的任何想象。可能性是无限的。
那么,您还在等什么呢?开始黑客行动吧!