✨什么是文生图(Text-to-Image)?
Text-to-Image 是一种人工智能模型,能够根据输入的文字(Prompt)生成对应的图像。目前主流方案有:
- Stable Diffusion(SD)
- DALL·E 系列
- Midjourney(闭源)
- DeepFloyd IF(更适合文字融图)
在本篇文章中,我们将基于开源、可本地部署的 Stable Diffusion 来实现一个高质量文生图生成系统。
🧱技术原理简述
Stable Diffusion 的核心原理包含以下几个关键点:
- Diffusion(扩散过程):逐步将图片加噪直至纯噪声。
- Denoising(去噪过程):模型学习如何从噪声中“恢复”原图。
- CLIP 编码器:用于将文本 Prompt 编码成向量表示。
- UNet 架构:用于预测去噪结果。
🛠️环境准备
建议使用 Python 3.10 + GPU(显卡12G以上,支持 CUDA)
conda create -n text2img python=3.10
conda activate text2img
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install diffusers transformers accelerate safetensors
📦加载Stable Diffusion模型
我们使用 GitHub 上的 runwayml/stable-diffusion-v1-5
作为基础模型:
from diffusers import StableDiffusionPipeline
import torch
model_id = "runwayml/stable-diffusion-v1-5"
pipe = StableDiffusionPipeline.from_pretrained(model_id, torch_dtype=torch.<