Python的AI大模型之runwayml/stable-diffusion-v1-5介绍与使用
🖼️ 1. runwayml/stable-diffusion-v1-5 是干啥的?
它是一个文生图(Text-to-Image)AI 模型,输入一段文字提示 Prompt,就能生成对应风格、内容的图像。
典型用途:
✔ 生成艺术插画
✔ 生成产品设计图
✔ 生成动漫风人物
✔ 生成建筑、工业设计概念图
✔ 做 AI 绘画工具的基础模型
✔ 图像扩散、修图、风格迁移、补图、扩图等功能
🏢 2. 由谁开发?
- 开发方:Stability AI + RunwayML 合作
- 发布年份:2022 年底
- 模型基于:Stable Diffusion 1.x 系列
RunwayML 是一家专注于创作者工具的 AI 公司
Stability AI 则是 Stable Diffusion 系列模型的主要研发者。
runwayml/stable-diffusion-v1-5 是 Stable Diffusion 1.5 的官方托管 checkpoint。
🧠 3. 它的功能和特点(非常详细)
✔ 文生图(Text → Image)
输入一句话生成图:
“a cat wearing sunglasses sitting on a cyberpunk motorcycle”
✔ 图生图(Image → Image,img2img)
使用一张图片+Prompt 来生成新的变化图。
✔ 图像修复(Inpainting)
你给一张图+mask,它可以补画被挖空的部分。
✔ 可控扩散(ControlNet 支持)
可以用姿势图、边缘图、深度图约束生成内容。
✔ 可调节分辨率
默认 512×512,可生成 768×768、1024×1024(显存越大越好)。
✔ 模型可 LoRA 微调
支持训练角色、风格、IP 角色形象。
🆚 4. 和其他模型区别?
| 模型 | 类型 | 功能 | 备注 |
|---|---|---|---|
| Helsinki-NLP/opus-mt-zh-en | 翻译模型 | 中英互翻 | 完全不是绘图模型 |
| runwayml/stable-diffusion-v1-5 | 文生图模型 | 绘画、修图 | AI 图像生成主力模型 |
| SDXL 1.0 | 更强模型 | 分辨率更高、效果更逼真 | 2023 新一代 |
| SD 1.5 | 经典模型 | 风格更开放、LoRA 多 | 2022–2024 都很流行 |
你的项目如果是:
- 翻译文本 → 选 opus-mt
- 生成图像 → 选 stable-diffusion-v1-5
两者完全不同领域。
🧪 5. stable-diffusion-v1-5 的技术底层(简单理解)
- 属于 扩散模型(Diffusion Model)
- 基于 Latent Diffusion(图像先压缩到 latent,再扩散采样)
- UNet + VAE 架构
- 使用 2 亿+ 图片训练(LAION-5B 数据集筛选)
- 需要显卡 ★最低 4GB 显存(CPU 也能跑但很慢)★
🧰 6. 用 Python 调用 stable-diffusion-v1-5(标准示例)
使用 Hugging Face diffusers(最主流方式)
📌 6.1 安装依赖
pip install diffusers transformers accelerate safetensors torch ⚠ 如果你用 GPU(推荐),你需要正确安装 CUDA 版本 torch:
(Windows 示例)
pip install torch --index-url https://download.pytorch.org/whl/cu121 📌 6.2 文生图最简代码(Text → Image)
from diffusers import StableDiffusionPipeline import torch # 加载模型 pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16 ).to("cuda")# 如果无GPU则改为 "cpu" prompt ="a cute cat wearing sunglasses, cyberpunk style, high detail"# 推理 image = pipe(prompt).images[0]# 保存 image.save("output.png")运行后,你会获得 output.png。
📌 6.3 增强版:控制分辨率、步骤数、种子
image = pipe( prompt, num_inference_steps=30,# 步数(越高越细致但越慢) guidance_scale=7.5,# 越大越听 prompt(通常7-10) width=768, height=768, generator=torch.manual_seed(42)# 固定种子,保持一致输出).images[0] image.save("cat2.png")📌 6.4 图生图(img2img)
from diffusers import StableDiffusionImg2ImgPipeline from PIL import Image pipe = StableDiffusionImg2ImgPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16 ).to("cuda") init_image = Image.open("input.jpg").convert("RGB") prompt ="cyberpunk style, neon lights" image = pipe(prompt=prompt, image=init_image, strength=0.7).images[0] image.save("output_img2img.png")📌 6.5 Inpainting(修复图像)
from diffusers import StableDiffusionInpaintPipeline from PIL import Image pipe = StableDiffusionInpaintPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", torch_dtype=torch.float16 ).to("cuda") image = Image.open("image.png") mask = Image.open("mask.png")# 白色表示要补的区域 result = pipe( prompt="a beautiful background with flowers", image=image, mask_image=mask ).images[0] result.save("inpaint.png")🧩 7. 适用场景总结
| 场景 | 能力 |
|---|---|
| AI 绘画生成 | 强 |
| 角色卡风格训练 | 强(LoRA) |
| 产品设计草图生成 | 强 |
| 二次元插画 | 强 |
| 写实风格 | 中等(SDXL 更强) |
| 翻译/文本理解 | ❌(不能翻译) |
| 视频生成 | ❌(不是视频模型) |
7.1 模型下载本地
如果需要将模型下载到本地可以看我写的另一篇文章。
基于python的huggingface_hub库实现通用下载大模型存放到本地
🏁 总结
runwayml/stable-diffusion-v1-5:
- ✔ AI 绘画模型(不是翻译模型)
- ✔ 稳定、经典、最流行的基础模型
- ✔ 由 Stability AI + RunwayML 联合开发
- ✔ 支持文生图、图生图、修图、扩图
- ✔ 可使用 diffusers 库轻松用 Python 调用