StableDiffusion-Infinity 项目环境配置全指南
概述
StableDiffusion-Infinity 是一个基于 Stable Diffusion 图像修复(Inpainting)模型的开源项目,能够在无限画布上进行图像外绘(Outpainting)。本文将提供完整的环境配置指南,涵盖多种操作系统和部署方式。
环境要求
硬件要求
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| GPU | 4GB VRAM | 8GB+ VRAM (NVIDIA) |
| 内存 | 8GB RAM | 16GB+ RAM |
| 存储 | 10GB 可用空间 | 20GB+ 可用空间 |
软件要求
- Python 3.10
- Conda (Miniconda 或 Anaconda)
- CUDA 11.6+ (NVIDIA GPU)
- OpenCV 开发库
安装方式对比
详细安装步骤
1. Conda 环境安装(推荐)
1.1 克隆项目仓库
git clone --recurse-submodules https://gitcode.com/gh_mirrors/st/stablediffusion-infinity
cd stablediffusion-infinity
1.2 创建 Conda 环境
# 使用环境配置文件(推荐)
conda env create -f environment.yml
# 或者手动创建环境
conda create -n sd-inf python=3.10
conda activate sd-inf
1.3 安装依赖包
# PyTorch 和相关库
conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
# 基础科学计算库
conda install scipy scikit-image
# Hugging Face 相关库
conda install -c conda-forge diffusers transformers ftfy accelerate
# 其他必要依赖
pip install opencv-python
pip install -U gradio
pip install pytorch-lightning==1.7.7 einops==0.4.1 omegaconf==2.2.3
pip install timm
2. 操作系统特定配置
2.1 Linux 系统(NVIDIA GPU)
# 安装 OpenCV 开发库(用于 PatchMatch)
sudo apt-get update
sudo apt-get install -y libopencv-dev build-essential cmake
# 验证 CUDA 安装
nvidia-smi
nvcc --version
2.2 Windows 系统
# 替换 OpenCV 安装方式
conda install -c conda-forge opencv
# AMD GPU 用户需要额外安装
pip install onnxruntime-directml
2.3 macOS 系统
# 通过 Homebrew 安装 OpenCV
brew install opencv
# 或者编译安装
brew install cmake
git clone https://github.com/opencv/opencv.git
cd opencv && mkdir build && cd build
cmake .. && make -j8 && sudo make install
3. Docker 容器部署
3.1 准备 Docker 环境
# 进入 Docker 目录
cd stablediffusion-infinity/docker
# 运行 Docker 容器
./docker-run.sh
3.2 Docker 内部流程
4. 可选功能安装
4.1 光学校正功能(FPIE)
# 安装 Fast Poisson Image Editing
pip install fpie
# 注意:目前仅支持 Linux/macOS
4.2 模型文件配置
# 使用本地模型
python app.py --local_model ./models/your-model-directory
# 使用远程模型
python app.py --remote_model hakurei/waifu-diffusion-v1-3
配置验证和测试
环境验证脚本
#!/usr/bin/env python3
import torch
import cv2
import numpy as np
from diffusers import StableDiffusionInpaintPipeline
def check_environment():
print("=== 环境配置验证 ===")
# 检查 PyTorch 和 CUDA
print(f"PyTorch 版本: {torch.__version__}")
print(f"CUDA 可用: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"GPU 设备: {torch.cuda.get_device_name(0)}")
print(f"CUDA 版本: {torch.version.cuda}")
# 检查 OpenCV
print(f"OpenCV 版本: {cv2.__version__}")
# 检查关键库
try:
import diffusers
print(f"Diffusers 版本: {diffusers.__version__}")
except ImportError:
print("❌ Diffusers 库未正确安装")
print("=== 验证完成 ===")
if __name__ == "__main__":
check_environment()
运行测试
# 激活环境
conda activate sd-inf
# 运行应用
python app.py
# 特殊参数模式
python app.py --fp32 --lowvram # 32位浮点模式和低显存模式
python app.py --encrypt --ssl_keyfile key.pem --ssl_certfile cert.pem # HTTPS模式
故障排除指南
常见问题及解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 黑屏或黑色输出 | 安全检查器误报 | 禁用安全检查器或使用 --fp32 |
| PatchMatch 不可用 | OpenCV 开发库缺失 | 安装 libopencv-dev |
| CUDA 错误 | PyTorch CUDA 版本不匹配 | 重新安装匹配版本的 PyTorch |
| 内存不足 | 显存或内存不足 | 使用 --lowvram 或减小画布尺寸 |
性能优化建议
-
显存优化:
# 使用低显存模式 python app.py --lowvram # 使用 FP32 模式(兼容性更好) python app.py --fp32 -
画布尺寸控制:
- 保持选择区域在 512x512 像素以内以获得最佳性能
- 避免过度缩放画布
-
模型选择:
# 使用轻量级模型 python app.py --remote_model smaller-model-name
高级配置
自定义键盘快捷键
编辑 config.yaml 文件来自定义快捷键:
shortcut:
clear: Escape
load: Ctrl+o
save: Ctrl+s
export: Ctrl+e
upload: Ctrl+u
selection: 1
canvas: 2
eraser: 3
outpaint: d
accept: a
cancel: c
文本反转嵌入
将 .bin 嵌入文件放置在 embeddings 目录中即可自动加载。
维护和更新
环境更新
# 更新核心库
conda update -c conda-forge diffusers transformers ftfy accelerate
# 更新 Gradio
pip install -U gradio
# 重新创建环境(重大更新时)
conda env remove -n sd-inf
conda env create -f environment.yml
项目更新
# 拉取最新代码
git pull origin master
# 更新子模块
git submodule update --init --recursive
总结
StableDiffusion-Infinity 提供了多种部署方式,从简单的 Conda 环境安装到容器化的 Docker 部署。通过本指南,您应该能够:
- ✅ 成功配置开发环境
- ✅ 理解不同操作系统的特殊要求
- ✅ 掌握故障排除和性能优化技巧
- ✅ 进行高级配置和自定义
项目在 http://localhost:8888 启动后,您就可以开始使用这个强大的无限画布外绘工具了。如果在配置过程中遇到任何问题,请参考故障排除部分或查阅项目文档。
提示:首次运行时会自动下载模型文件,请确保网络连接稳定且有足够的存储空间。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



