简介
Stable Diffusion是一个强大的AI图像生成模型,但对于不熟悉编程的用户来说,在自己的GPU设备上运行该模型可能存在一定难度。为了解决这个问题,GitHub用户NickLucche开发了stable-diffusion-nvidia-docker项目,旨在通过Docker容器化技术,让用户能够轻松地在支持NVIDIA GPU的机器上部署和运行Stable Diffusion模型。
项目特点
stable-diffusion-nvidia-docker具有以下主要特点:
- 提供了预构建的Docker镜像,简化了安装和配置过程
- 支持多GPU并行推理,充分利用硬件资源
- 内置简洁的Web UI界面,方便用户交互
- 支持img2img和图像修复等高级功能
- 可自定义模型和参数,灵活性强
安装要求
在开始使用之前,请确保您的系统满足以下要求:
- 操作系统:Ubuntu(推荐20.04)或Windows 10(21H2及以上版本)
- NVIDIA GPU:显存至少6GB,推荐GTX 700系列及以上
- 可用磁盘空间:不少于2.8GB
- 已安装Docker和NVIDIA-docker
快速开始
安装过程非常简单,只需按照以下步骤操作:
-
确保已经安装好Docker和NVIDIA-docker
-
运行以下命令启动容器:
docker run --name stable-diffusion --pull=always --gpus all -it -p 7860:7860 nicklucche/stable-diffusion
-
等待模型权重下载完成(首次运行需要几分钟)
-
打开浏览器访问 http://localhost:7860 即可看到Web UI界面
多GPU支持
该项目支持在多个GPU上并行运行模型,以提高推理速度。目前支持两种并行方式:
- 数据并行(Data Parallel):在多个GPU上复制模型,每个GPU处理不同的数据。
- 模型并行(Model Parallel):将模型拆分到多个GPU上,目前处于实验阶段。
要启用多GPU支持,可以在启动容器时添加环境变量:
-e DEVICES=0,1
: 在GPU 0和1上运行模型-e DEVICES=all
: 在所有可用GPU上运行模型
自定义模型
默认情况下,项目使用stabilityai/stable-diffusion-2-base模型。您可以通过设置环境变量来使用其他兼容的模型:
-e MODEL_ID=runwayml/stable-diffusion-v1-5
模型权重会下载并加载到/root/.cache/huggingface/diffusers
目录。如果想在多个容器运行之间共享模型,可以使用Docker卷:
-v /path/to/your/hugginface/cache:/root/.cache/huggingface/diffusers
高级功能
除了基本的文本到图像生成,stable-diffusion-nvidia-docker还支持以下高级功能:
- img2img:使用输入图像作为参考生成新图像
- 图像修复:修复或替换图像中的指定区域
- 自定义采样器:支持多种不同的采样算法
- NSFW过滤:可选择是否启用不良内容过滤
示例图像
以下是使用该项目生成的一些示例图像:
结语
stable-diffusion-nvidia-docker项目为用户提供了一种简单快捷的方式来在支持NVIDIA GPU的机器上部署和运行Stable Diffusion模型。无论您是AI爱好者、艺术家还是开发者,都可以轻松地利用这个工具探索AI图像生成的无限可能性。如果在使用过程中遇到任何问题,欢迎在项目的GitHub页面上提出issue,开发者和社区将会为您提供帮助。