
最近很多小伙伴都在研究如何本地部署图像生成模型,比如 🚀 Stable Diffusion、SDXL、ControlNet、AnimateDiff 等等……是不是觉得部署起来又卡又慢还老是报错?别急~
今天这篇文章,我们就来实战部署一套完整的 AI 图像生成服务,核心使用 🤗 Transformers 和 🧨 Diffusers 库,配合 Gradio 或 FastAPI 实现本地接口调用,关键还要教你避开常见的大坑,比如:
ModuleNotFoundError: No module named 'diffusers'CUDA out of memory你将学到:
🧠 作者:默语博主|专注 AI 应用部署落地 🌱 🔍 搜索关键词:Stable Diffusion 部署、Transformers 本地部署、Diffusers 模型加载失败、bitsandbytes 显存优化、Gradio 图像服务

工具 | 作用 | 优点 |
|---|---|---|
transformers | 支持 NLP/视觉等多模态模型加载 | 模型种类多、集成接口统一 |
diffusers | 专注于扩散式模型(图像生成) | 支持 SD、ControlNet 等全家桶 |
Gradio / FastAPI | 快速部署为 Web 或 API 服务 | 简单易用,部署快 |
🧩 小提示:很多 HuggingFace 上的图像模型其实都是基于 diffusers 封装的,适合本地离线使用。
ai-image-service/
├── app/
│ ├── main.py # 启动入口
│ ├── generate.py # 图像生成逻辑
├── models/ # 下载的模型存储目录
├── requirements.txtpip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install diffusers transformers accelerate bitsandbytes gradio🔍 常见问题提醒:
问题 | 原因 | 解决方法 |
|---|---|---|
ModuleNotFoundError: No module named 'diffusers' | 没安装库 | ✅ 安装 diffusers 包 |
模型下载超慢 | 网络问题 | ✅ 设置代理 or 使用清华镜像 |
CUDA out of memory | 显存不足 | ✅ 启用 fp16、bitsandbytes 等轻量化 |
String modelPath = "CompVis/stable-diffusion-v1-4";
DiffusionPipeline pipeline = DiffusionPipeline.from_pretrained(modelPath, device="cuda");
pipeline.enable_attention_slicing(); // 降显存
pipeline.set_use_fp16(true); // 使用16位精度✅ Tips:
local_dir 缓存路径,避免重复下载!export HF_HOME=./modelsimport gradio as gr;
Function generate = (String prompt) -> {
BufferedImage result = pipeline(prompt).getImage();
return result;
};
gr.Interface(fn=generate, inputs="text", outputs="image").launch();🌟效果图如下(支持自定义 Prompt + 图像输出): (请自行部署后截图用于展示)
from fastapi import FastAPI, Request;
import base64;
app = FastAPI();
@app.post("/generate")
async def generate_image(request: Request):
prompt = (await request.json())["prompt"];
image = pipeline(prompt).images[0];
encoded = base64.b64encode(image.tobytes()).decode();
return {"image": encoded};优化方式 | 显存需求 | 速度影响 | 是否推荐 |
|---|---|---|---|
默认设置 | 🔺高(6~10G) | ✅ 快 | ❌ 容易爆显存 |
attention_slicing | 🔻下降约30% | ⏳ 慢一点 | ✅ 推荐 |
fp16 精度 | 🔻节省约40% | ✅ 稳定 | ✅ 强烈推荐 |
bitsandbytes | 🔻大幅节省 | ⏳ 稍慢 | ✅ 超适合 4G~6G 显卡 |
transformers-cli login
transformers-cli download CompVis/stable-diffusion-v1-4 --cache-dir ./models/报错内容 | 原因分析 | 解决方案 |
|---|---|---|
ModuleNotFoundError: No module named 'diffusers' | 未安装 | pip install diffusers |
CUDA out of memory | 显卡不足 | 开启 attention_slicing 或 fp16 |
下载模型失败 | 被墙、无代理 | ✅ 用 HuggingFace 镜像 or 离线加载 |
OSError: Can't load tokenizer | 权限 / 路径问题 | 确保模型完整下载,检查路径 |
⚠️ 小心!Diffusers 更新较频繁,推荐锁定版本!
diffusers==0.27.2
transformers==4.39.3String model = isSDXL ? "stabilityai/stable-diffusion-xl" : "CompVis/stable-diffusion-v1-4";
pipeline = DiffusionPipeline.from_pretrained(model);通过本篇文章你学到了👇
📦 本项目可用于简历生成图像、AIGC 图像接口服务、AI 艺术作品创作、图像增强、表单配图自动生成等场景~