Linux-Ubuntu安装Stable Diffusion Forge

news2025/5/13 3:30:51

SD Forge在Win上配置起来相对简单且教程丰富,而在Linux平台的配置则稍有门槛且教程较少。本文提供一个基于Ubuntu24.04发行版(对其他Linux以及SD分支亦有参考价值)的Stable Diffusion ForgeUI安装配置教程,希望有所帮助

本教程以NVIDIA显卡为例介绍安装方法,AMD显卡没尝试过,或许也有用。

先决条件

安装NVIDIA显卡驱动

命令终端运行

nvidia-smi

若显示以下画面,代表已安装显卡驱动,可跳过本步骤

若未安装,在应用栏找到软件和更新—附加驱动,安装专有驱动,重启电脑。若无版本依赖,建议与本教程一致(575版本)

安装CUDA 驱动和 cuDNN

为顺利进行后续步骤,安装的CUDA版本应不低于12.1。若无版本依赖,建议与本教程保持一致(12.8版本)。执行“nvidia-smi”命令可查看驱动支持的最高版本。例如,上图所示的显卡驱动最高可支持CUDA12.9版本。

本文的重点是Forge安装,CUDA安装的相关教程丰富且详细,请自行查阅,这里就不赘述了

安装CUDA后,终端运行以下代码查看是否安装成功

nvcc -V

若终端输出以下字样则安装成功,否则检查一下是否未正确配置环境变量

安装cuDNN后,终端运行以下代码查看是否安装成功

# cuda版本需修改为与实际一致
cat /usr/local/cuda-12.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 

若终端输出以下字样则安装成功(cannot警告不必理会),否则检查一下cudnn的文件位置是否正确

克隆项目

选取合适位置打开终端运行以下代码将SD Forge压缩克隆到本地并解压。如果下载速度缓慢,可能需要配置网络

sudo apt update
sudo apt install git
git clone https://github.com/lllyasviel/stable-diffusion-webui-forge.git

配置Python虚拟环境

安装并配置pyenv

为避免污染Ubuntu24自带的Python环境,SD Forge的Python依赖及Pytorch均需在虚拟环境安装。本教程的虚拟环境基于pyenv配置,pyenv的安装与使用可参考像在Windows里面一样丝滑使用Ubuntu24.04里面的“安装vscode并配置python虚拟环境”章节(看前两部分即可,其他部分不用管)

除非比较了解conda(如果这么做,需自行修改后续教程的部分配置方法),否则建议与本教程保持一致——使用pyenv创建虚拟环境

安装Python3.10.2

进入“stable-diffusion-webui-forge”目录,打开终端运行以下代码下载并配置Python3.10.2(SD Forge依赖Python3.10,其他版本可能会有依赖问题(3.10子版本则没有限制)。若无版本依赖,建议同本教程保持一致)

pyenv install 3.10.2
pyenv virtualenv 3.10.2 ForgeEnv
pyenv activate ForgeEnv

成功安装并激活Python3.10.2虚拟环境后在用户名前会显示(ForgeEnv) 字样。勿关闭该终端,后面还会用到

安装依赖

在上一节配置的虚拟环境中运行以下代码安装SD Forge依赖。如果下载缓慢,可参考像在Windows里面一样丝滑使用Ubuntu24.04中“安装vscode并配置python虚拟环境”章节的其他说明(2),手动添加清华镜像源加速下载

pip install --upgrade pip
pip install -r requirements_versions.txt

安装pytorch与xformers

pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1
pip install xformers==0.0.27

注意,torch, torchvision, torchaudio与xformers有版本依赖。除非清楚其匹配关系,否则不要修改上述代码中的版本号。

启动文件配置(重点)

打开stable-diffusion-webui-forge文件夹,找到“webui-user.sh”文件不是webui.sh,别搞混了)

用文件编辑器打开webui-user.sh,将全文替换为以下代码并根据实际情况修改后保存关闭(看注释,部分配置必须结合实际情况修改

#!/bin/bash

#########################################################

#                     虚拟环境自动激活                   #

#########################################################

# 本部分代码用于运行webui.sh文件时自动激活配置的python虚拟环境
# 本部分代码删除后不影响使用,但每次打开Forge前都必须在控制台手动输入pyenv activate ForgeEnv激活虚拟环境
# 自动激活只适用PYENV配置的虚拟环境,conda用户需根据实际情况修改本部分代码(或直接删除,每次打开采用手动激活)

# 配置虚拟环境路径
PYENV_ROOT="$HOME/.pyenv"
VENV_NAME="ForgeEnv"

# 加载 Shell 配置
source ~/.bashrc

# 显式初始化 Pyenv 和 Pyenv-Virtualenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"                
eval "$(pyenv virtualenv-init -)"   

# 激活虚拟环境
pyenv activate "$VENV_NAME" || { echo "错误:虚拟环境激活失败!"; exit 1; }

#########################################################

#                      常规配置                          #

#########################################################

# 路径配置
install_dir="/home/$(whoami)" # 使用默认用户目录, 如果不是,需指定

# SD目录名
clone_dir="stable-diffusion-webui-forge" # 若不是这个名字,需根据实际修改

# python3 executable
python_cmd="$HOME/.pyenv/shims/python"  # 解释器如果不在这里,需根据实际情况修改

# git executable
# export GIT="git" # git配置可以不管

# python3 venv without trailing slash (defaults to ${install_dir}/${clone_dir}/venv)
venv_dir="$HOME/.pyenv/versions/ForgeEnv"  # 虚拟环境如果不是这个,需根据实际情况修改

# script to launch to start the app
export LAUNCH_SCRIPT="launch.py" # 不需修改

# 安装指定版本的深度学习框架, 若需修改, 需保证与xformers版本匹配
export TORCH_COMMAND="pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1" # 这是一个版本组合, 请勿单独修改某一项的版本

# 依赖项, 一般不需修改,若遇到依赖问题, 或需修改txt文件里面的库版本号
export REQS_FILE="requirements_versions.txt"

# Fixed git repos  # git配置可以不管
# export K_DIFFUSION_PACKAGE=""
# export GFPGAN_PACKAGE=""

# Fixed git commits  # git配置可以不管
# export STABLE_DIFFUSION_COMMIT_HASH=""
# export CODEFORMER_COMMIT_HASH=""
# export BLIP_COMMIT_HASH=""

# 启用加速
export ACCELERATE="True"  # 不需修改

# 内存相关,懒得配置TCMALLOC了,直接关
export NO_TCMALLOC="True"

# 设置过网络环境的需加上
export ALL_PROXY=''
export all_proxy=''

#########################################################

#                启动参数配置(含模型共享)                #

#########################################################

MODEL_DIR="/除controlnet外的其他模型位置/models" # 如果不需共享模型,删除本行、下行及COMMANDLINE_ARGS里面从--ckpt-dir(含上一行末尾的\符号)直到倒数第二个引号的内容
CONTROLNET_DIR="controlnet模型位置/extensions"  # 注意,controlnet相关模型在插件里

#  如果共享失败,检查源文件位置(尤其是大小写)以及除号和反除号是否设置正确
# ckpt, vae,lora;clip, esrgan,gfpgan;controlnet这三类模型共享参数配置不一样,注意区分
export COMMANDLINE_ARGS="--xformers \
--server-name 127.0.0.1 \
--port 7860 \
--enable-insecure-extension-access \
--ckpt-dir=\"$MODEL_DIR/Stable-diffusion\" \
--clip-models-path=\"$MODEL_DIR/CLIP\" \
--vae-dir=\"$MODEL_DIR/VAE\" \
--esrgan-models-path=\"$MODEL_DIR/ESRGAN\" \
--gfpgan-models-path=\"$MODEL_DIR/GFPGAN\" \
--lora-dir=\"$MODEL_DIR/Lora\" \
--controlnet-dir=\"$CONTROLNET_DIR/sd-webui-controlnet\"" # 配置显存优化, ip地址与端口,插件等启动参数。如果需安装多个sd, 每个sd的ip端口号不能相同
# 为防止路径有空格,路径加了引号转义
###########################################

启动SD Forge

启动前建议先手动下载或共享大模型到指定目录,否则等待时间特别长

文件运行授权

stable-diffusion-webui-forge文件夹打开终端,执行以下命令添加运行权限(仅初次运行需授权)

chmod +x webui.sh
chmod +x webui-user.sh

激活虚拟环境

若在启动文件正确配置了虚拟环境自动激活,本步骤可跳过,否则每次打开ForgeUI前都需在stable-diffusion-webui-forge文件夹打开终端述运行下述代码以激活虚拟环境

pyenv activate ForgeEnv

运行启动文件

若没有在启动文件配置虚拟环境自动激活,则需在虚拟环境(上一节打开的终端中)运行下述代码以打开Forge

./webui.sh

若已在启动文件正确配置了虚拟环境自动激活,则在stable-diffusion-webui-forge文件夹打开终端述运行上述代码即可

启动后终端会显示“Running on local URL:http://127.0.0.1:7860”字样,按住ctrl后点击“http://127.0.0.1:7860”即可打开SD Forge的UI网页

最后的说明

完成上述所有配置步骤后,以后只需在stable-diffusion-webui-forge文件夹打开终端述执行启动文件即可启动SD ForgeUI

未配置虚拟环境自动激活

pyenv activate ForgeEnv
./webui.sh

已正确配置虚拟环境自动激活

./webui.sh

ok,SD Forge安装配置全部结束,May this guide serve as your gateway to a seamless and empowering journey with SD Forge on Linux, where creativity meets cutting-edge technology

放张图

1girl,violet evergarden,full body,solo,blonde hair,blue eyes,sky,red ribbon,hair between eyes,jewelry,blue jacket,ribbon,outdoors,day,hair ribbon,looking at viewer,jacket,blue sky,brooch,cloud,bangs,blur,white,background intakes,bride,brideDusk,facing the audience,long legs,white silk,
Negative prompt: (worst quality, low quality:1.4),(depth of field, blurry:1.2),(greyscale, monochrome:1.1),3D face,cropped,lowres,text,(nsfw:1.3),(worst quality:2),(low quality:2),(normal quality:2),normal quality,((grayscale)),skin spots,acnes,skin blemishes,age spot,(ugly:1.331),(duplicate:1.331),(morbid:1.21),(mutilated:1.21),(tranny:1.331),mutated hands,(poorly drawn hands:1.5),blurry,(bad anatomy:1.21),(bad proportions:1.331),extra limbs,(disfigured:1.331),(missing arms:1.331),(extra legs:1.331),(fused fingers:1.61051),(too many fingers:1.61051),(unclear eyes:1.331),lowers,bad hands,missing fingers,extra digit,bad hands,missing fingers,(((extra arms and legs))),
Steps: 28, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 7, Seed: 3605002200, Size: 1024x1024, Model hash: 30953ab0de, Model: 动漫MeinaMix_MeinaV8, Denoising strength: 0.42, Clip skip: 2, ADetailer model: face_yolov8n.pt, ADetailer confidence: 0.3, ADetailer dilate erode: 4, ADetailer mask blur: 4, ADetailer denoising strength: 0.4, ADetailer inpaint only masked: True, ADetailer inpaint padding: 32, ADetailer version: 24.9.0, Hires Module 1: Use same choices, Hires CFG Scale: 7, Hires upscale: 2, Hires steps: 5, Hires upscaler: R-ESRGAN 4x+ Anime6B, Version: f2.0.1v1.10.1-previous-662-g0ced1d0c, Module 1: vae-ft-mse-840000-ema-pruned

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

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

相关文章

MixTeX - 支持CPU推理的多模态LaTeX OCR

文章目录 一、项目概览相关资源核心特性技术特点 二、安装三、使用说明环境要求 四、版本更新五、当前限制 一、项目概览 MixTeX是一款创新的多模态LaTeX识别小程序,支持本地离线环境下的高效CPU推理。 无论是LaTeX公式、表格还是混合文本,MixTeX都能轻…

23、DeepSeek-V2论文笔记

DeepSeek-V2 1、背景2、KV缓存优化2.0 KV缓存(Cache)的核心原理2.1 KV缓存优化2.2 性能对比2.3 架构2.4多头注意力 (MHA)2.5 多头潜在注意力 (MLA)2.5.1 低秩键值联合压缩 (Low-Rank Key-Value …

【算法专题十一】字符串

文章目录 1. leetcode.14.最长公共前缀1.1 题目1.2 思路1.3 代码 2. leetcode.5.最长回文字串2.1 题目2.2 思路2.3 代码 3. leetcode.67.二进制求和3.1 题目3.2 思路3.3 代码 4. leetcode.43.字符串相乘4.1 题目4.2 思路4.3 代码 1. leetcode.14.最长公共前缀 1.1 题目 题目链…

美化IDEA注释:Idea 中快捷键 Ctrl + / 自动注释的缩进(避免添加注释自动到行首)以及 Ctrl + Alt + l 全局格式化代码的注释缩进

打开 Settings 界面,依次选择 Editor -> Code Style -> Java,选择 Code Generation, 取消 Line comment at first column 和 Block comment at first column 的勾选即可, 1、Line comment at first column (行注释在第一列…

赛灵思 XCZU11EG-2FFVC1760I XilinxFPGAZynq UltraScale+ MPSoC EG

XCZU11EG-2FFVC1760I 是 Zynq UltraScale MPSoC EG 系列中性能最强的器件之一,集成了四核 ARM Cortex-A53 应用处理器、双核 Cortex-R5 实时处理器与 Mali-400 MP2 GPU,并结合了 653,100 个逻辑单元与丰富的片上存储资源,可满足高性能计算、A…

Android Camera HAL v3 and Video4Linux 2

《小驰行动派的知识星球》 ———————————————— 推荐阅读: 关于博主 《小驰Camera私房菜》小册目录 采用v4l2loopback来实现 虚拟Camera Camera基础及一些基本概念 Android Camera 学习路线 | 个人推荐 Android Camera开发系列(干货满满&a…

基于pyqt的上位机开发

目录 安装依赖 功能包含 运行结果 安装依赖 pip install pyqt5 pyqtgraph pyserial 功能包含 自动检测串口设备,波特率选择/连接断开控制,数据发送/接收基础框架,实时绘图区域(需配合数据解析) ""&q…

CentOS 7 系统下安装 OpenSSL 1.0.2k 依赖问题的处理

前面有提到过这个openssl的版本冲突问题,也是在这次恢复服务器时遇到的问题,我整理如下,供大家参考。小小一个软件的安装,挺坑的。 一、问题 项目运行环境需要,指定PHP7.0.9这个版本,但是‌系统版本与软件…

vue修改了node_modules中的包,打补丁

1、安装patch npm i patch-package 安装完成后,会在package.json中显示版本号 2、在package.json的scripts中增加配置 "postinstall": "patch-package" 3、执行命令 npx patch-package 修改的node_modules中的包的名称 像这样 npx patch-packag…

[matlab]private和+等特殊目录在新版本matlab中不允许添加搜索路径解决方法

当我们目录包含有private,或者时候matlab搜索目录不让添加,比如截图: 在matlab2018以前这些都可以加进去后面版本都不行了。但是有时候我们必须要加进去才能兼容旧版本matlab库,比如mexopencv库就是这种情况。因此我们必须找到一个办法加进去…

OpenTelemetry 介绍

文章目录 1. 概述什么是OpenTelemetry发展历史与背景主要特点与优势2. 核心概念追踪(Tracing)指标(Metrics)日志(Logs)行李(Baggage)3. 主要组件API层SDK层数据收集器(Collector)导出器(Exporters)OTLP(OpenTelemetry Protocol)4. 集成方式语言支持(SDK)自动与手动插桩常见框…

【连载14】基础智能体的进展与挑战综述-多智能体系统设计

基础智能体的进展与挑战综述 从类脑智能到具备可进化性、协作性和安全性的系统 【翻译团队】刘军(liujunbupt.edu.cn) 钱雨欣玥 冯梓哲 李正博 李冠谕 朱宇晗 张霄天 孙大壮 黄若溪 在基于大语言模型的多智能体系统(LLM-MAS)中,合作目标和合…

blender云渲染指南2025版

一、云渲染核心概念 Blender云渲染是将本地渲染任务迁移到云端服务器集群的技术,通过分布式计算实现效率提升100倍以上的解决方案,其核心逻辑是:用户上传Blender项目文件至【渲染101】等云平台,云端调用高性能服务器(…

Mysql-OCP PPT课程讲解并翻译

#跳过介绍,直接从干货开始记录 第一章 安装mysql windows安装

加速项目落地(Trae编辑器)

目录 vscode安装python支持 vscode常用插件 Trae编辑器 两个界面合成 补充(QT开发的繁琐) AI编程哪家强?Cursor、Trae深度对比,超详细! - 知乎 Trae兼容vscode的插件,我们可以先在vscode里面装好再一…

配置 Web 服务器练习

一、要求 1.通过https://ip 可以访问到网站首页 2.通过 https://ip/private/ 实现用户访问控制,仅允许已经添加的 tom,jerry 能够访问到 private 子路径的界面 3.通过 https://ip/vrit/ 实现能够访问到将系统 /nginx/virt 目录下的网页文件&#xff0…

Python程序,输入IP,扫描该IP哪些端口对外是开放的,输出端口列表

#!/usr/bin/env python # -*- coding: utf-8 -*-""" IP端口扫描程序 输入IP地址,扫描该IP哪些端口对外是开放的,输出端口列表 """import socket import sys import concurrent.futures import ipaddress from tabulate im…

OpenCv实战笔记(3)基于opencv实现调用摄像头并实时显示画面

一、实现效果 二、实现原理 使用 OpenCV 打开摄像头,持续捕获视频帧,并在一个窗口中实时显示这些帧,直到用户按下 ESC 键退出。整体流程:打开摄像头(cv::VideoCapture)>创建图像显示窗口(cv…

upload-labs靶场通关详解:第四关

一、分析源代码 可以看出这一关仍然是黑名单验证,但是它禁止了更多的后缀。像php3,php4这类后缀也被加入了黑名单,第三关的方法在这里显然就失效了。那么我们想一想,既然配置文件中存在将php3当作php来执行的功能,那么…

openharmony系统移植之gpu mesa3d适配

openharmony系统移植之gpu mesa3d适配 文章目录 openharmony系统移植之gpu mesa3d适配1. 环境说明2. gpu内核panfrost驱动2.1 使能panfrost驱动2.2 panfrost dts配置 3. buildroot下测试gpu驱动3.1 buildroot配置编译 4. ohos下mesa3d适配4.1 ohos下mesa3d编译调试4.1.2 编译4.…