目录
从零搭建 Stable Diffusion 文生图 Colab 流程
3. 加载模型(Stable Diffusion v1.5)
从零搭建 Stable Diffusion 文生图 Colab 流程
1. 准备环境(安装必要依赖)
作用:
Stable Diffusion 依赖 Hugging Face 的 diffusers
库,以及 transformers
、accelerate
、safetensors
等。第一步先装好这些。
操作代码:
# 安装 Hugging Face 的 diffusers 工具包和其他依赖
!pip install diffusers transformers accelerate scipy safetensors --upgrade
2. 登录 Hugging Face(获取模型权限)
作用:
Stable Diffusion 模型发布在 Hugging Face 上。使用时需要登录你的 Hugging Face 账户,以授权加载模型。
操作步骤:
第一次使用时:
-
打开这个链接生成访问令牌(Access Token):
https://huggingface.co/settings/tokens
建议选择“Read”权限即可。
操作代码:
from huggingface_hub import login
# 这里填入你自己的 token(复制粘贴,不用加引号)
login("hf_xxxxxxxx你的Token")
3. 加载模型(Stable Diffusion v1.5)
作用:
我们加载 runwayml/stable-diffusion-v1-5
版本,这是最常用且稳定的模型。
操作代码:
from diffusers import StableDiffusionPipeline
import torch
# 正确方式:不指定 revision,用 default 主分支
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
torch_dtype=torch.float16, # 使用 float16,节省显存
use_safetensors=True # 推荐启用
).to("cuda")
4. 文生图(输入提示词生成图像)
作用:
你只需要输入一句 prompt,模型会根据这句话生成一张图像。
操作代码:
from IPython.display import display
# 霓虹闪烁的动漫风格赛博朋克城市夜晚
prompt = "a cyberpunk city at night with neon lights, anime style"
# guidance_scale 控制“提示词的强度”,越高越接近 prompt
image = pipe(prompt, guidance_scale=7.5).images[0]
# 展示图像
display(image)
注意:
这里不要使用中文,因为模型根本不支持中文的输入进行推理,如果使用中文,模型大概率会生成一些奇奇怪怪的东西。
下面的同一个意思中英文的不同效果。
5. (可选)保存图像到本地
作用:
将生成的图像保存为文件,可以下载。
image.save("output.png")
你可以点击左侧文件夹按钮找到 output.png
,右键下载。
6. 可调节参数(提升控制力)
参数 | 作用 | 推荐值 |
---|---|---|
prompt | 输入的描述性文字 | 任意英文句子 |
guidance_scale | 提示词强度,越高越受 prompt 影响 | 7~12 |
num_inference_steps | 推理步数,越高越清晰,但越慢 | 25~50 |
height , width | 图像尺寸(默认512x512) | 比如 512x768 适合横图 |
示例(调整步数和尺寸):
image = pipe(prompt, guidance_scale=8.5, num_inference_steps=40, height=512, width=768).images[0]
image.show()
整体流程结构图
📦 安装依赖
↓
🔐 Hugging Face 登录认证
↓
🧠 加载 Stable Diffusion 模型
↓
📝 输入 Prompt 提示词
↓
🎨 模型生成图像
↓
💾 显示 / 保存结果
示例 Prompt 提示词推荐
你可以输入任意英文描述(中文也行但效果不稳定),以下是一些灵感:
中文想法 | 英文 prompt 示例 |
---|---|
赛博朋克风的南京 | "a cyberpunk night view of Nanjing, neon lights, futuristic" |
汉服少女樱花树下自拍 | "a girl in hanfu taking a selfie under cherry blossom trees, digital painting" |
火星上弹吉他的宇航员 | "an astronaut playing guitar on Mars, cinematic style" |
结语
你现在已经完全掌握了从 0 开始在 Colab 上运行 Stable Diffusion 的所有流程了,不再是“照着点按钮”,而是:
-
知道每一步干啥
-
知道怎么调参数
-
可以随心换模型、prompt、画风