AI

Diffusers 快速上手:从零到生成你的第一张 AI 图片(附代码)

AI智能摘要
Diffusers 是Hugging Face推出的开源 Python库,简化了扩散模型的使用,支持文本生成图像、图像编辑等功能。文章介绍了在Python 环境中安装 Diffusers及相关依赖的步骤,并通过 StableDiffusionPipeline 示例演示如何用几行代码生成 AI图像。针对显存不足、无 GPU 或网络受限等问题提供了实用解决方案,并推荐使用Google Colab配合 GPU 加速运行。此外,还列举了 img2img、Inpainting、LoRA 和 ControlNet等进阶功能,帮助用户进一步探索 AI 图像生成的多样化应用。
— 此摘要由AI分析文章内容生成,仅供参考。

一、什么是 Diffusers?

在 AI 绘图领域,扩散模型(Diffusion Models) 已经成为主流。而 Diffusers 是 Hugging Face 推出的开源 Python 库,它把复杂的扩散模型封装成简洁易用的接口,让开发者和爱好者只需几行代码就能生成 AI 图片。

核心特点

  • 简单易用:封装了 Stable Diffusion 等模型,调用方便。
  • 高扩展性:支持文本生成图像、图像编辑、图像修复等功能。
  • 开源社区支持:有大量预训练模型、示例与插件可供参考。

二、准备环境

硬件要求

  • 推荐 NVIDIA 显卡(显存 8GB+ 更佳)。
  • 没有 GPU 也能用 CPU 运行,但速度会非常慢,不建议用于常规生成。

软件要求

  • Python 3.8 及以上。
  • 建议使用 Conda 或 venv 创建隔离环境。

环境配置(推荐步骤)

Python
# 创建并激活虚拟环境(使用 conda)
conda create -n diffusers python=3.10 -y
conda activate diffusers

# 安装常用依赖(CPU 也可用,但建议安装适合你的 CUDA 版本的 torch)
pip install diffusers transformers accelerate torch safetensors

提示:如果你使用的是 Conda + CUDA,建议参考 PyTorch 官网选择与 CUDA 匹配的 torch 版本,以获得最佳性能。


三、生成你的第一张图片(完整示例)

以下示例演示如何使用 StableDiffusionPipeline 生成一张图片。把代码保存为 generate.py,在已激活的虚拟环境中运行:

Python
# generate.py
from diffusers import StableDiffusionPipeline
import torch

# 模型标识(示例使用 runwayml 的 SD v1.5)
model_id = "runwayml/stable-diffusion-v1-5"

# 加载模型(注意:如果 GPU 不支持 float16,可去掉 torch_dtype)
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")  # 如无 GPU,改为 "cpu"

# 可选:启用 attention slicing 来降低显存峰值
pipe.enable_attention_slicing()

# 生成图片
prompt = "A futuristic cyberpunk city at night, neon lights, highly detailed"
image = pipe(prompt).images[0]

# 保存图片
image.save("output.png")
print("Saved: output.png")

运行:

Python
python generate.py

成功后,会在当前目录生成 output.png,这就是你的第一张 AI 图片。🎉


四、常见问题与解决办法

Q1:显存不足怎么办?

  • 启用 pipe.enable_attention_slicing()
  • 采用更小的模型(例如 stabilityai/stable-diffusion-2-1-base)。
  • 使用 device_map 或者 pipeline.to("cpu")(仅当不可用 GPU 时)。

Q2:没有 GPU,运行太慢怎么办?

  • 在 Google Colab、Kaggle 或其他云端 GPU 环境运行。
  • 使用轻量化模型或降低分辨率(例如 width=512, height=512 以外更低)。

Q3:模型下载慢或网络受限?

  • 可在 Hugging Face 网页上手动下载模型并使用本地路径加载: pipe = StableDiffusionPipeline.from_pretrained("/path/to/local/model")

Q4:提示词(Prompt)技巧?

  • 多用描述性词汇(风格、材质、光线、细节)。
  • 使用英文往往更稳定;把关键风格词放在前面。
  • 结合负面提示(negative_prompt)去除不希望出现的元素。

五、进阶玩法(下一步尝试)

  • img2img:用一张草图或低质量图片作为输入,生成更高质量或风格化的图像。
  • Inpainting(修复/替换):在图片某一区域进行替换或修复。
  • LoRA / 微调:微调模型以生成具有特定风格的图像。
  • ControlNet / 插件:结合 ControlNet 控制姿态、结构或参考图。

以下是用Google Colab生成的图片:打开 Google Colab:https://colab.research.google.com/

  • 新建一个 Notebook。
  • 点击菜单 修改 → 笔记本设置 → 硬件加速器 选择 GPU。(推荐使用 T4、P100、V100,Colab Pro+ 有时可用 A100,速度更快。)2. 安装依赖在第一个代码单元格输入并运行:
Python
!pip install diffusers transformers accelerate torch safetensors

3. 导入并加载模型

在新单元格中输入:

Python
from diffusers import StableDiffusionPipeline
import torch

# 模型 ID(可换成其他,比如 stabilityai/stable-diffusion-2-1)
model_id = "runwayml/stable-diffusion-v1-5"

# 加载模型,使用 float16 提高效率
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")  # 使用 GPU

# 可选:减少显存占用
pipe.enable_attention_slicing()

4. 生成你的第一张图片

Python
prompt = "A futuristic cyberpunk city at night, neon lights, highly detailed"
image = pipe(prompt).images[0]

# 显示图片
image

5. 保存图片到本地

Python
image.save("output.png")
print("Saved as output.png")

6. 可选:更换模型

在 Hugging Face 上有很多 Diffusers 模型,比如:

  • stabilityai/stable-diffusion-2-1 (官方 SD v2.1)
  • dreamlike-art/dreamlike-photoreal-2.0 (写实风格)
  • prompthero/openjourney-v4 (类似 MidJourney 风格)

只需要修改:

Python
model_id = "模型名称"

暂无介绍....

登录用户才能发表评论! 登录账户

取消回复

评论列表 (0条):

加载更多评论 Loading...

延伸阅读:

暂无内容!

    返回顶部