在 Linux 本地部署 stable diffusion

本文详细介绍了如何在Ubuntu系统上部署stablediffusion,包括NVIDIA驱动的安装、Python和CUDA的配置,以及遇到的常见错误如TCMalloc缺失和HuggingFace连接问题的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于工作站安装的是 ubuntu,卡也在上面,就只能在 ubuntu 上部署安装 stable diffusion 了。另外,Linux 上使用 stable diffusion 也会方便很多。

1 准备工作

  • NVIDIA 官网下载驱动,主要是为了规避多卡驱动不同的问题。由于本机是两张一样的卡,就可以省去这一步。如果存在不同型号的多卡驱动不兼容的问题,就需要去官网下载。
  • 安装 python 3.10
  • 安装 CUDA11.8(pytorch2.x,xformers),对 stable diffusion 兼容比较好
    • 支持 pytorch2.x
    • 支持 xformers,可以加速图片生成

2 deploy stable diffusion

  • github stable diffusion webUI

        git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
    
  • 配置 venv python 虚拟环境,因为不同模型的 python 版本要求不同

        # 创建虚拟环境
        python3 -m venv venv
    
        # 进入虚拟环境
        source venv/bin/activate
        # 退出虚拟环境
        deactivate
    
    

    也可以使用 conda 来进行虚拟环境的创建和管理。

  • Stable diffusion WebUI 启动,自动安装依赖

        # 启动,会自动下载依赖
        ./webui.sh --xformers
    

3 报错解决

‘’’
这里可能会出现一些报错

  1. Cannot locate TCMalloc(improves CPU memory usage),这个报错是因为缺少 libgoogle-perftools4 和 libtcmalloc-minimal4,直接安装即可
    sudo apt install libgoogle-perftools4 libtcmalloc-minimal4 -y

  2. This scripts must not be launched as root, aborting…

解决方法:
bash webui.sh -f
‘’’

  1. OSError: Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

解决方法:
运行时它需要访问huggingface.co去下载一些模型需要的文件,而大陆用户连接不上huggingface.co,导致部署失败。
下载文件并进行配置, 让 stable diffusion 访问本地数据, 放置到你所需要的目录, 开始进行配置,这些文件(clip)是模型中encoder所需要的,我们可以从报错信息中去发现是哪里调用了这个openai/clip-vit-large-patch14,去修改这个路径配置即可。

在这里插入图片描述

这里的配置会导致我们运行时会去huggingface.co(外网)找这个文件,只需要将这个改成我们之前下载所放置的路径即可, 一共四处

在这里插入图片描述

  1. RuntimeError: GET was unable to find an engine to execute this computation

解决方法:
因为torch torchvision cuda以及python版本都是有兼容关系的, 这三者安装兼容版本就可以了.

检测torch和cuda是否能用:

import torch
print(torch.__version__)
print(torch.cuda.is_available())

在这里插入图片描述

测试:

import torch

print(torch.cuda.is_available())
num_gpu =1 
# Decide which device to run on
device = torch.device("cuda:0" if (torch.cuda.is_available() and num_gpu > 0) else "cpu")
print(device)
print(torch.cuda.get_device_name(0))
print(torch.rand(3,3).cuda())

在这里插入图片描述

检查cudnn是否可用:

print(torch.backends.cudnn.version())

在这里插入图片描述

### 如何在本地环境部署 Stable Diffusion 模型 要在本地环境中成功部署 Stable Diffusion 模型,需要完成以下几个关键步骤。以下是详细的说明: #### 1. 确认硬件和软件需求 确保你的计算机满足运行 Stable Diffusion 的最低要求。通常需要一个支持 CUDA 的 NVIDIA 显卡以及足够的显存(建议至少 6GB 或更高)。此外,操作系统可以是 Windows、Linux 或 macOS[^2]。 #### 2. 下载并安装 Stable Diffusion WebUI - 首先,克隆 `stable-diffusion-webui` 仓库到本地: ```bash git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ``` 这一步会下载 Stable Diffusion 的用户界面工具[^3]。 #### 3. 准备模型文件 下载所需的 Stable Diffusion 模型文件,并将其重命名为 `model.ckpt`。然后将该文件放置在 `sd-webui/models/Stable-diffusion` 目录下。例如,在 Windows 系统中,路径可能是 `D:\stable-diffusion-webui\models\Stable-diffusion`[^1]。 #### 4. 安装依赖项 进入克隆的仓库目录后,运行以下命令以安装所有必要的依赖项: ```bash cd stable-diffusion-webui pip install -r requirements.txt ``` #### 5. 启动 Stable Diffusion WebUI 使用以下命令启动 WebUI: ```bash python launch.py ``` 启动后,程序会在本地生成一个访问链接(通常是 `http://127.0.0.1:7860`),通过浏览器打开此链接即可开始使用[^3]。 #### 6. 可选:安装额外的插件 如果需要增强功能,例如人脸修复,可以按照教程安装 GFPGAN 插件[^1]。具体步骤包括克隆 GFPGAN 仓库并安装相关依赖项。 --- ### 注意事项 - 如果在 Linux 环境下部署,可能需要额外配置 GPU 驱动和 CUDA 工具包。 - 在 Windows 环境下,确保已安装 Python 3.10 或更高版本。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值