在Ubuntu24.04上安装Stable-Diffusion1.10.1版本

之前曾介绍过在Ubuntu22.04上安装Stable-Diffusion:

在Ubuntu22.04上部署Stable Diffusion_ubuntu stable dif-CSDN博客

这个安装我们使用conda python虚拟机。这次我们介绍的是在Ubuntu24.04安装Stable-Diffusion的最新版本V1.10.1(截止到今天最新版),并且我们这次安装不再使用conda虚拟环境。

一:安装GPU

1、安装编译环境:

apt update
apt install gcc g++
apt install make

2、禁用nouveau

vim /etc/modprobe.d/blacklist.conf

#在文件的最后添加下面两行。

blacklist nouveau
options nouveau modeset=0

#然后,输入下面的命令更新并重启。

update-initramfs -u
reboot

#重启后输入下面的命令验证是否禁用成功,成功的话这行命令不会有输出。

lsmod | grep nouveau

#驱动安装
#首先,使用apt卸载已有的驱动,命令如下。

apt-get purge nvidia*

#进入驱动所在路径,赋予执行权限,并执行安装命令

chmod +x NVIDIA-Linux-x86_64-535.86.05.run
./NVIDIA-Linux-x86_64-535.86.05.run

3、安装cuda

#下载cuda
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

#为安装文件附权限
chmod +x cuda_12.4.0_550.54.14_linux.run

#运行安装文件
./cuda_12.4.0_550.54.14_linux.run

配置环境变量

#重启服务器后,如不生效,可直接将文件写在.bashrc里面
vim ~/.bashrc

#添加以下几句:

PATH=$PATH:/usr/local/cuda/bin  
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

#使生效
source ~/.bashrc

4、安装cudnn

#解压文件
xz -d cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar

#拷贝文件
cp /root/cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn.* /usr/local/cuda/include/
cp /root/cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/* /usr/local/cuda/lib64/
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

相关文件的下载路径,请参考之前的相关文档。 

二:安装python3.10

1、安装python的相关依赖

apt update
apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev

2、从官网下载python3.10

wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

3、解压文件编译

#解压文件
tar -zvxf Python-3.10.0.tgz

#安装编译工具
apt install gcc g++
apt install make

#编译代码
cd Python-3.10.0/
./configure --enable-optimizations
make

#开始安装
make install

4、查看python版本

python3.10 --version

查看python的安装位置

which python3.10

 

python3.10的安装路径: /usr/local/bin/python3.10

pip3.10的安装路径:/usr/local/bin/pip3.10

5、设置软连接

ln -s /usr/local/bin/python3.10 /usr/bin/python
ln -s /usr/local/bin/pip3.10 /usr/bin/pip

6、设置python环境

vim  ~/.bashrc

#添加:
alias python='/usr/local/bin/python3.10'

使配置生效:

#使配置生效:
source ~/.bashrc

#运行查看:
python

#退出
>>>exit();

三:安装Stable-Diffusion

1、下载stable-diffusion代码库

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui && cd stable-diffusion-webui

2、安装相关依赖

pip install -r requment.txt

3、启动Stable-Diffusion

cd /app/stable-diffusion-webui/
python launch.py

四:设置开机启动

vim /etc/systemd/system/stable-diffusion.service

添加以下内容 

[Unit]
Description=Run Python script main.py
After=network.target

[Service]
ExecStart=/usr/bin/python /app/stable-diffusion-webui/launch.py
Restart=always
User=root

[Install]
WantedBy=multi-user.target

注意python的路径和launch.py的路径。

systemctl daemon-reload
systemctl start stable-diffusion.service
systemctl enable stable-diffusion.service

五:报错处理

ModuleNotFoundError: No module named '_lzma'
安装torch==1.9.0和torchvision==0.10.0时会报错 ModuleNotFoundError: No module named '_lzma',处理方法:

apt install liblzma-dev -y
pip install backports.lzma

编辑lzma.py

#修改前
from _lzma import *
from _lzma import _encode_filter_properties, _decode_filter_properties

#修改后 
try:
    from _lzma import *
    from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
    from backports.lzma import *
    from backports.lzma import _encode_filter_properties, _decode_filter_properties

注意行的缩进

保存后,重启服务器,然后再执行python launch.py

http://IP:7860

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

功能测试与接口测试详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 本文主要分为两个部分: 第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的…

IDEA集成DeepSeek

使用版本: IDEA 2024.3,Python3.11 通过CodeGPT插件安装: 1. 安装Python环境,安装完成后python --version验证是否成功 2. DeepSeek官网获取API Key 3. IDEA中安装CodeGPT插件 文件->设置->插件,搜"CodeGPT" …

DeepSeek笔记(二):DeepSeek局域网访问

如果有多台电脑,可以通过远程访问,实现在局域网环境下多台电脑共享使用DeepSeek模型。在本笔记中,首先介绍设置局域网多台电脑访问DeepSeek-R1模型。 一、启动Ollama局域网访问 1.配置环境变量 此处本人的操作系统是Windows11,…

计算机视觉-OpenCV图像处理

1.Matplotlib数据可视化(绘制图像直方图、可视化矩阵) # Matplotlib 数据可视化(绘制图像直方图、可视化矩阵) # 本节主要讲解如何使用 Matplotlib 绘制图像直方图和可视化矩阵。 # 1. 绘制图像直方图 # 2. 可视化矩阵# 1. 绘制图…

golangAPI调用deepseek

目录 1.deepseek官方API调用文档1.访问格式2.curl组装 2.go代码1. config 配置2.模型相关3.错误处理4.deepseekAPI接口实现5. 调用使用 3.响应实例 1.deepseek官方API调用文档 1.访问格式 现在我们来解析这个curl 2.curl组装 // 这是请求头要加的参数-H "Content-Type:…

闭源大语言模型的怎么增强:提示工程 检索增强生成 智能体

闭源大语言模型的怎么增强 提示工程 检索增强生成 智能体 核心原理 提示工程:通过设计和优化提示词,引导大语言模型进行上下文学习和分解式思考,激发模型自身的思维和推理能力,使模型更好地理解和生成文本,增强其泛用性和解决问题的能力。检索增强生成:结合检索的准确…

《计算机视觉》——角点检测和特征提取sift

角点检测 角点的定义: 从直观上理解,角点是图像中两条或多条边缘的交点,在图像中表现为局部区域内的灰度变化较为剧烈的点。在数学和计算机视觉中,角点可以被定义为在两个或多个方向上具有显著变化的点。比如在一幅建筑物的图像…

具身智能在智能巡检机器人中的应用——以开关柜带电操作机器人为例

随着机器人技术和人工智能的迅速发展,具身智能在各行业的应用日益广泛,尤其是在电力行业中的智能巡检领域。传统的电力巡检和维护工作通常需要人工操作,存在着高温、高压、强电磁场等危险环境,且效率较低。开关柜带电操作机器人作…

基于SpringBoot实现的大学社团平台系统实现功能八

一、前言介绍: 1.1 项目摘要 随着高校社团活动的日益丰富和多样化,学生对于社团管理和参与的需求也在不断增加。传统的社团管理方式往往存在效率低下、信息不透明等问题,无法满足现代学生对于便捷、高效社团管理的需求。因此,利…

Unity使用反射进行Protobuf(CS/SC)协议,json格式

protobuf生成的协议,有挺多协议的.利用反射生成dto进行伪协议的响应 和 发送请求 应用场景: 请求(CS)_后端先写完了(有proto接口了),前端还没搞完时(暂还没接入proto),后端可使用此请求,可自测 响应(SC)_可自行构建一个响应(有些特殊数据后端下发不了的),对数据进行测试 // 请…

使用synchronized解决高并发场景

synchronized能很好的解决高并发所带来的超卖等问题,但是synchronized也有属于它的缺陷,就是只适合单机模式,如果同时开启多个实例,那么还是会出现超卖的情况,下面就介绍一下synchronized使用方法,十分的简…

【Pytorch 库】自定义数据集相关的类

torch.utils.data.Dataset 类torch.utils.data.DataLoader 类自定义数据集示例1. 自定义 Dataset 类2. 在其他 .py 文件中引用和使用该自定义 Dataset torch_geometric.data.Dataset 类torch_geometric.data.Dataset VS torch.utils.data.Dataset 详细信息,参阅 tor…

Softing线上研讨会 | 自研还是购买——用于自动化产品的工业以太网

| 线上研讨会时间:2025年1月27日 16:00~16:30 / 23:00~23:30 基于以太网的通信在工业自动化网络中的重要性日益增加。设备制造商正面临着一大挑战——如何快速、有效且经济地将工业以太网协议集成到其产品中。其中的关键问题包括:是否只需集成单一的工…

Wireshark 输出 数据包列表本身的值

在 Wireshark 中,如果你想输出数据包列表本身的值(例如,将数据包的摘要信息、时间戳、源地址、目的地址等导出为文本格式),可以使用 导出为纯文本文件 的功能。以下是详细步骤: 步骤 1:打开 Wir…

解压rar格式的软件有哪些?8种方法(Win/Mac/手机/网页端)

RAR 文件是一种常见的压缩文件格式,由尤金・罗谢尔(Eugene Roshal)开发,因其扩展名 “rar” 而得名。它通过特定算法将一个或多个文件、文件夹进行压缩,大幅减小存储空间,方便数据传输与备份。然而&#xf…

java实现不带哨兵节点的双向链表(二)

概述 todo 扩展:实现链表节点的删除(根据索引删除节点、删除第一个元素)、添加的元素为数组最后一个元素(addLast)等 实现上一篇博客中提到的 根据索引删除节点。删除第一个元素。添加的元素为数组最后一个元素。 根…

AcWing 798. 差分矩阵

题目来源: 找不到页面 - AcWing 题目内容: 输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1) 和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将…

【kafka系列】消费者

目录 获取消息 1. 消费者获取消息的流程逻辑分析 阶段一:消费者初始化 阶段二:分区分配与重平衡(Rebalance) 阶段三:消息拉取与处理 阶段四:偏移量提交 核心设计思想 2. 流程 关键点总结 常见参数…

游戏引擎学习第105天

仓库:https://gitee.com/mrxiao_com/2d_game_2 查看当前进度 今天的工作重点是继续进行渲染系统的清理。昨天已经完成了一次渲染清理,现在还有一些内容需要继续处理。首先,已经解决了坐标系统的问题,其中世界坐标基本上是正确的&#xff0c…

重新求职刷题力扣DAY15

1.[226. 翻转二叉树](https://leetcode.cn/problems/symmetric-tree/) 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1]示例 2&#xff1a…