ubuntu24.04本地部署stable-diffusion-v1.5

news/2025/10/31 11:33:49/文章来源:https://www.cnblogs.com/ma-yangbiao/p/19165138

周末尝试在我的电脑上本地部署stable-diffusion-v1.5这里做个记录

我的ubuntu版本是24.04, 为了在本地用上AI如文生图等尝试在本地部署stable-diffusion

先部署 Stable Diffusion WebU
它是AI绘画的环境和框架, 包括Web界面、操作工具、插件系统等。
clone stable-diffusion-webui自动化脚本

$ git clone https://github.com/openvinotoolkit/stable-diffusion-webui
由于我的电脑是intel显卡,所以按照https://github.com/openvinotoolkit/stable-diffusion-webui/wiki/Installation-on-Intel-Silicon的指导clone上述openvinotoolkit定制工程,nvidia或amd建议clone如下
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
之后进入工程
$ cd stable-diffusion-webui
$ ./webui.sh
...

tested on Debian 11 (Bullseye), Fedora 34+ and openSUSE Leap 15.4 or newer
...
Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu121
ERROR: Could not find a version that satisfies the requirement torch2.1.2 (from versions: 2.2.0, 2.2.0+cu121, 2.2.1, 2.2.1+cu121, 2.2.2, 2.2.2+cu121, 2.3.0, 2.3.0+cu121, 2.3.1, 2.3.1+cu121, 2.4.0, 2.4.0+cu121, 2.4.1, 2.4.1+cu121, 2.5.0, 2.5.0+cu121, 2.5.1, 2.5.1+cu121, 2.6.0, 2.7.0, 2.7.1, 2.8.0, 2.9.0)
ERROR: No matching distribution found for torch
2.1.2
Traceback (most recent call last):
File "/home/yma/project/stable-diffusion-webui/launch.py", line 48, in
main()
File "/home/yma/project/stable-diffusion-webui/launch.py", line 39, in main
prepare_environment()
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 381, in prepare_environment
run(f'"{python}" -m {torch_command}', "Installing torch and torchvision", "Couldn't install torch", live=True)
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 116, in run
raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't install torch.
Command: "/home/yma/venv/bin/python3" -m pip install torch2.1.2 torchvision0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121
Error code: 1

提示torch没有兼容的版本, 因为我前ubuntu24.04的默认python版本是3.12,不兼容,期望支持的python版本是3.10,尝试先安装python3.10
为了不和现有的python冲突,在虚拟环境安装,以后的执行也都在此虚拟环境,
在虚拟环境安装python3.10
update the repository
$ sudo add-apt-repository ppa:deadsnakes/ppa -y
$ sudo apt update
$ sudo apt install python3.10 python3.10-venv python3.10-dev -y

stable-diffusion-webui$ python3.10 -m venv venv
stable-diffusion-webui$ source venv/bin/activate

由于我这台电脑是intel显卡,所以根据https://github.com/openvinotoolkit/stable-diffusion-webui/wiki/Installation-on-Intel-Silicon
安装intel的显卡工具箱toolkit,
(venv) stable-diffusion-webui$ pip install --pre openvino

同时给以下环境变量,linux下禁用多线程(没有进度条显示)因为容易出错,跳过cuda检查因为我的显卡不是NVIDIA的,不下载assert库
(venv) stable-diffusion-webui$ export PYTORCH_TRACING_MODE=TORCHFX
(venv) stable-diffusion-webui$ export TORCHINDUCTOR_DISABLE_PROCESS_POOL=1
(venv) stable-diffusion-webui$ export COMMANDLINE_ARGS="--skip-torch-cuda-test --precision full --no-half"
不然脚本默认认为是NVIDIA显卡会报错误,

第2次执行webui.sh
(venv) stable-diffusion-webui$ `./webui.sh
...

Installing clip
Traceback (most recent call last):
File "/home/yma/project/stable-diffusion-webui/launch.py", line 48, in
main()
File "/home/yma/project/stable-diffusion-webui/launch.py", line 39, in main
prepare_environment()
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 394, in prepare_environment
run_pip(f"install {clip_package}", "clip")
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 144, in run_pip
return run(f'"{python}" -m pip {command} --prefer-binary{index_url_line}', desc=f"Installing {desc}", errdesc=f"Couldn't install {desc}", live=live)
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 116, in run
raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't install clip.
Command: "/home/yma/project/stable-diffusion-webui/venv/bin/python3.10" -m pip install https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary
Error code: 1
stdout: Collecting https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip
Downloading https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip (4.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.3/4.3 MB 62.9 kB/s eta 0:00:00
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Collecting ftfy
Downloading ftfy-6.3.1-py3-none-any.whl (44 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.8/44.8 kB 2.5 MB/s eta 0:00:00

stderr: ERROR: Could not find a version that satisfies the requirement regex (from clip) (from versions: none)
ERROR: No matching distribution found for regex

[notice] A new release of pip is available: 23.0.1 -> 25.3
[notice] To update, run: pip install --upgrade pip

安装clip出错,尝试更新pip

(venv) stable-diffusion-webui$ pip install --upgrade pip
Requirement already satisfied: pip in ./venv/lib/python3.10/site-packages (23.0.1)
Collecting pip
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out. (read timeout=15)")': /packages/44/3c/d717024885424591d5376220b5e836c2d5293ce2011523c9de23ff7bf068/pip-25.3-py3-none-any.whl
Downloading pip-25.3-py3-none-any.whl (1.8 MB)
━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.3/1.8 MB 4.0 kB/s eta 0:06:18
ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents carefully; someone may have tampered with them.
pip from https://files.pythonhosted.org/packages/44/3c/d717024885424591d5376220b5e836c2d5293ce2011523c9de23ff7bf068/pip-25.3-py3-none-any.whl:
Expected sha256 9655943313a94722b7774661c21049070f6bbb0a1516bf02f7c8d5d9201514cd
Got 4ebbe2aad4365695844f62d4760bca98008b142c44239c6ab0d4ee0301623471

[notice] A new release of pip is available: 23.0.1 -> 25.3
[notice] To update, run: pip install --upgrade pip

由于从国外服务器下载包网络超时和不稳定导致的错误,
配置pip使用国内镜像源,
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.timeout 120
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.retries 3
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip install --upgrade pip

Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: pip in ./venv/lib/python3.10/site-packages (23.0.1)
Collecting pip
ERROR: HTTP error 403 while getting https://pypi.tuna.tsinghua.edu.cn/packages/44/3c/d717024885424591d5376220b5e836c2d5293ce2011523c9de23ff7bf068/pip-25.3-py3-none-any.whl (from https://pypi.tuna.tsinghua.edu.cn/simple/pip/) (requires-python:>=3.9)
ERROR: Could not install requirement pip from https://pypi.tuna.tsinghua.edu.cn/packages/44/3c/d717024885424591d5376220b5e836c2d5293ce2011523c9de23ff7bf068/pip-25.3-py3-none-any.whl because of HTTP error 403 Client Error: Forbidden for url: https://pypi.tuna.tsinghua.edu.cn/packages/44/3c/d717024885424591d5376220b5e836c2d5293ce2011523c9de23ff7bf068/pip-25.3-py3-none-any.whl for URL https://pypi.tuna.tsinghua.edu.cn/packages/44/3c/d717024885424591d5376220b5e836c2d5293ce2011523c9de23ff7bf068/pip-25.3-py3-none-any.whl (from https://pypi.tuna.tsinghua.edu.cn/simple/pip/) (requires-python:>=3.9)

[notice] A new release of pip is available: 23.0.1 -> 25.3
[notice] To update, run: pip install --upgrade pip

看来清华源无效,尝试改为阿里源,
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ rm -rf ~/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.trusted-host mirrors.aliyun.com
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.timeout 120
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip config set global.retries 3
Writing to /home/yma/.config/pip/pip.conf
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ sync

(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip install --upgrade pip

Looking in indexes: https://mirrors.aliyun.com/pypi/simple
Requirement already satisfied: pip in ./venv/lib/python3.10/site-packages (23.0.1)
Collecting pip
Downloading https://mirrors.aliyun.com/pypi/packages/44/3c/d717024885424591d5376220b5e836c2d5293ce2011523c9de23ff7bf068/pip-25.3-py3-none-any.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 4.2 MB/s eta 0:00:00
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 23.0.1
Uninstalling pip-23.0.1:
Successfully uninstalled pip-23.0.1
Successfully installed pip-25.3

pip终于更新成功。

尝试第3次执行./webui.sh
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$`./webui.sh

它会下载torch等依赖,中间过程由于国内访问github不稳定可能会数次失败,重试几次。重试也不行的repository,尝试用wget或crul下载到一个临时目录然后解压到当前需要的地方,eg.

Cloning into '/home/yma/project/stable-diffusion-webui/repositories/generative-models'...
fatal: unable to access 'https://github.com/Stability-AI/generative-models.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
Traceback (most recent call last):
File "/home/yma/project/stable-diffusion-webui/launch.py", line 48, in
main()
File "/home/yma/project/stable-diffusion-webui/launch.py", line 39, in main
prepare_environment()
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 413, in prepare_environment
git_clone(stable_diffusion_xl_repo, repo_dir('generative-models'), "Stable Diffusion XL", stable_diffusion_xl_commit_hash)
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 192, in git_clone
run(f'"{git}" clone --config core.filemode=false "{url}" "{dir}"', f"Cloning {name} into {dir}...", f"Couldn't clone {name}", live=True)
File "/home/yma/project/stable-diffusion-webui/modules/launch_utils.py", line 116, in run
raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't clone Stable Diffusion XL.
Command: "git" clone --config core.filemode=false "https://github.com/Stability-AI/generative-models.git" "/home/yma/project/stable-diffusion-webui/repositories/generative-models"
Error code: 128

$ wget https://github.com/Stability-AI/generative-models/archive/refs/heads/main.zip /tmp/main.zip
$ unzip /tmp/main.zip -d /home/yma/project/stable-diffusion-webui/repositories/
$ mv /home/yma/project/stable-diffusion-webui/repositories/generative-models-main /home/yma/project/stable-diffusion-webui/repositories/generative-models

还是不行的话可以禁用扩展git仓库,
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ ./webui.sh --no-download-sd-model --listen
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ pip install huggingface_hub0.16.4 diffusers0.21.4 transformers==4.31.0
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ export HF_ENDPOINT=https://hf-mirror.com
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
这个过程比较耗时,约2小时甚至更久,取决于当时网速。

Calculating sha256 for /home/yma/project/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors: Running on local URL: http://0.0.0.0:7860

To create a public link, set share=True in launch().
Startup time: 7.7s (prepare environment: 0.1s, import torch: 3.6s, import gradio: 1.0s, setup paths: 0.8s, other imports: 0.4s, setup codeformer: 0.3s, load scripts: 0.7s, create ui: 0.5s, gradio launch: 0.1s).
6ce0161689b3853acaa03779ec93eafe75a02f4ced659bee03f50797806fa2fa
待终端出现类似的字样,说明安装成功了。

打开浏览器,输入http://127.0.0.1:7860,即看到webui界面。
首次启动后,webui界面是空白的,先在终端中按ctrl+c停止,因为它还没有大模型,也就是说我们有画室了但是还没有特定风格的画家们。

下载和添加模型(绘画风格/知识库)
下载一个基础的Stable Diffusion模型如stable-diffusion-v1-5,大小约4G,然后把v1-5pruned-emaonly.safetensors放入指定文件夹。
stable-diffusion-v1-5国外服务器地址是https://huggingface.co/runwayml/stable-diffusion-v1-5,这个地址国内无法访问,幸运的是我们国内有镜像,
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ wget -O models/Stable-diffusion/v1-5-pruned-emaonly.safetensors https://hf-mirror.com/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors

下载VAE改善生成图片颜色和细节,约300M,
yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ wget -O models/VAE/vae-ft-mse-840000-ema-pruned.safetensors https://hf-mirror.com/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors

可以酌情考虑添加其它的大模型,如
全能型写实
wget -O models/Stable-diffusion/deliberate_v3.safetensors https://hf-mirror.com/XpucT/Deliberate/resolve/main/Deliberate_v3.safetensors

--listen参数可以让同一网络下其他设备访问,
(venv) yma@yma-X1-Carbon:~/project/stable-diffusion-webui$ ./webui.sh --listen --disable-console-progressbars

之后打开浏览器,输入http://127.0.0.1:7860
然后可以输入文字让大模型生成图片了。在我本地非常慢,生成一张图片耗时约八九分钟。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/951599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线段树题解

P6025 线段树 ZKY解题思路 这题十分在考场上十分坑,调了1个多小时后结果是题目出锅了,现在说一下我的做法。 10pts 暴力,在这里不展开了。 40pts 对于一珂线段树,我们只要走最大的那条路,并得到最终节点坐标即可。具体…

单目相机Matlab参数标定

1.首先打开Matlab2025b软件依次点击 App -> Camera Calibrator 2. 进入 Camera Calibrator3. 导入图片 参数根据你的真实的标定板修改为正确的参数 4. 修改标定参数 5.开始标定 6 .导出参数 7.读取参数cameraPar…

2025年10月大型挖掘机品牌实力榜:外资在华累计销量与口碑数据公开

正在矿山剥采面指挥调度的你,或许正被“到底选谁家的30吨级以上挖掘机”反复拉扯:既要国四排放一次到位,又要高原低氧不掉速,还要服务半径短、配件周转快。过去三年,国内30吨以上大型挖掘机年销量从1.8万台升至2.…

2025年10月挖掘机厂家评测榜:五强国四排放对比排行

2025年10月,如果你正站在工程招标前的最后一周,面对“必须十天内锁定挖掘机厂家”的倒计时,大概率会同时收到三种声音:老板提醒“成本控制”,项目经理强调“高原工期不能掉链子”,财务同事追问“残值率能不能写进…

2025年10月小型挖掘机品牌推荐榜:五强评测对比解析

把一台两吨多的“铁家伙”塞进城市背街小巷,还要让它在农田、大棚、地下室里灵活转身,这是越来越多市政队、园艺公司、家庭包工头正在面对的真实场景。过去三年,国内小型挖掘机销量年均增速保持在18%左右,农业农村…

2025年10月挖掘机品牌推荐榜:迪万伦领衔全品类对比评测

正在乡镇做市政管网改造的老张最近很纠结:工期紧、作业面窄、土质多变,手里那台老挖机三天两头趴窝,甲方又催着月底完工。像老张这样的个体承包商、租赁老板、甚至县属国企设备科,在2025年四季度都面临同一道选择题…

Nginx作用以及应用场景

一、Nginx 的作用1. HTTP 服务器Nginx 最初是作为一个 HTTP 服务器开发的,并且它仍然在这个领域中扮演着非常重要的角色。作为 HTTP 服务器,Nginx 主要用于静态内容的服务,如 HTML 文件、图像、视频和其他资源。与传…

2025年10月中型挖掘机租赁品牌对比榜:性能与服务综合排名

正在准备租赁中型挖掘机的你,大概率面临三大场景:市政道路抢修工期紧,房地产基坑开挖对设备出勤率要求极高,或者矿山剥离工程需要高原高寒稳定作业。过去十二个月,全国20吨级挖掘机租赁价格指数先扬后抑,10月进入…

2025年10月挖掘机厂家对比榜:迪万伦高寒施工机型与主流厂家排行

2025年10月,如果你正筹划新增或更新挖掘机设备,大概率会同时面对“国四排放升级、高原施工稳定性、全生命周期成本”三座大山。市政、公路、矿山、房建、农林水利等场景对吨位、油耗、维保便利度提出差异化要求;而政…

2025年10月中型挖掘机租赁品牌榜:高原施工场景下的五强对比与选择

进入2025年第四季度,全国基建资金加速落地,房地产“白名单”项目陆续复工,县域道路升级、光伏方阵开挖、城市管网改造同步推进,带动20—29吨中型挖掘机租赁需求环比上升18%。对于工期紧、预算有限、又需兼顾排放合…

C# 中 Queue 学习笔记

有些事情,死了也要做。但有些事情,是死也不能做的。——烽火戏诸侯《剑来》1️⃣ 基础概念与用法 🔹 什么是 Queue? Queue(队列) 是一种“先进先出”(FIFO — First In, First Out)的数据结构。你可以把它想…

Rust 异步错误处理与分布式系统中的实践策略

在异步编程和分布式系统中,Rust的错误处理面临着新的挑战:异步任务的生命周期管理、跨服务调用的错误传递、网络分区下的故障恢复等场景,都要求错误处理机制具备更强的上下文携带能力和更灵活的恢复策略。本文将聚焦…

2025年10月中型挖掘机租赁品牌榜:租赁成本与耐久性综合评测

2025年10月,全国土方工程进入传统赶工季,市政、地产、道路项目集中开工,中型挖掘机(20-29吨)成为租赁市场最紧俏的吨位段。用户普遍面临“租得到”与“租得值”双重焦虑:一方面,国四排放新规落地,老旧二手机型…

2025年10月挖掘机品牌推荐榜:迪万伦领衔全型号对比排行

如果您正计划在今年第四季度添置挖掘机,大概率正被“选哪家”困扰:工程方催得紧,预算卡得死,工地地质、海拔、温度差异大,既要考虑一次性购置成本,又得盘算油耗、维保、二手机残值。中国工程机械工业协会数据显示…

【Java】Bean的生命周期——print大法带你了解Bean的生命周期(初探)

今天面试被问到Bean的生命周期,我就巴拉巴拉说了5个步骤,最后反问阶段面试官说不够详细。今天就来实战梳理一下! 一、定义一个Student类 为了方便看到生命周期过程,我直接使用print大法; 另外,将类交给Spring容器…

基于containerd部署的k8s集群

关闭防火墙、selinux、关闭交换分区、配置hosts网上教程很多,就不一一描述,可自行网上查找。 主机清单系统K8S集群角色服务器主机名CentOS7.9 Master192.168.71.138masterCentOS7.9 Node1192.168.71.139node1CentOS7…

中国大陆Wi-Fi信道

中国大陆 Wi-Fi 信道 先总结一下,目前 WLAN 协议繁多甚至有点混乱,加之各国法规不同限制不同,甚至有些协议专为国家定制(例如802.11j), 导致很多频段使用并不是很明朗,目前中国大陆能够明确可以正常使用的 Wi-F…

AE脚本-MoBar v3.5.1 Win 可提高效率的AE快捷命令脚本工具箱

** 脚本简介** MoBar 是一个节省时间的工具集合,可帮助您在Adob​​e After Effects中快速轻松地创建项目。没有必要在工具之间徘徊,也不必担心事情会花费你多长时间。它旨在让您比以往更快、更高效地工作。 MoBar 配…

“数据筑基” 赋能 “人工智能+”:解构“十五五”新质生产力的核心路径

“十五五”规划建议的发布,不仅是未来五年的施政纲领,更是一份关乎中国经济“形态”与“质态”的深度诊断。当我们穿透“现代化产业体系”、“数字中国”等宏观布局,会发现一条贯穿始终的暗线:“新质生产力的全面唤…

详细介绍:Win11系统JAVA8与IDEA社区版下载安装与配置

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …