(一)Ubuntu22.04服务器端部署Stable-Diffusion-webui AI绘画环境

一、说明

cup型号: Intel(R) Celeron(R) CPU G1610 @ 2.60GHz

内存大小:      8G

显卡型号:NVIDIA P104-100

注意:系统睡眠问题

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

网卡设置

# sudo vim /etc/netplan/50-cloud-init.yaml

network:
  ethernets:
    enp3s0:
      dhcp4: false
      addresses: [192.168.1.12/24]
      optional: true
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,114.114.114.114]
  version: 2

#sudo netplan apply

 开放端口7860

sudo apt-get install iptables
sudo iptables -I INPUT -p tcp --dport 7860 -j ACCEPT
sudo iptables-save

#永久保持,重启不丢失
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
sudo cat /etc/iptables/rules.v4

二、安装nvidia驱动

这将输出关于显卡的详细信息,包括制造商、型号和使用的内存量等。
sudo lshw -class display

*-display                 
       description: 3D controller
       product: GP104 [P104-100]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=nouveau latency=0
       resources: irq:27 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff
  *-display
       description: VGA compatible controller
       product: Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 resolution=1600,900
       resources: irq:28 memory:f7000000-f73fffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff

禁用nouveau 


编辑文件blacklist.conf:
sudo vim /etc/modprobe.d/blacklist.conf

在文件最后部分插入以下两行内容

blacklist nouveau
options nouveau modeset=0

更新系统
sudo update-initramfs -u


重启系统(一定要重启)

sudo reboot

验证nouveau是否已禁用
lsmod | grep nouveau
没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。


下载驱动
wget https://us.download.nvidia.cn/XFree86/Linux-x86_64/550.135/NVIDIA-Linux-x86_64-550.135.run

sudo apt-get update

sudo apt-get remove nvidia-*

安装:
sudo chmod a+x NVIDIA-Linux-x86_64-550.135.run
sudo apt-get update
sudo apt-get install build-essential

sudo ./NVIDIA-Linux-x86_64-550.135.run -no-x-check -no-nouveau-check -no-opengl-files 
 //只有禁用opengl这样安装才不会出现循环登陆的问题
-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

 

 

安装完毕之后
挂载Nvidia驱动:
modprobe nvidia 

检查驱动是否安装成功:
nvidia-smi 

还是重启一下吧,据说不用重启,以前没用 modprobe nvidia 

三、安装Anaconda3,安装python环境

wget --user-agent=“Mozilla” https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.10-1-Linux-x86_64.sh

chmod a+x Anaconda3-2024.10-1-Linux-x86_64.sh

bash Anaconda3-2024.10-1-Linux-x86_64.sh

source ~/.bashrc

conda -V

conda config --set auto_activate_base false

虚拟环境创建 

#创建

conda create -n sd  python=3.10

#删除

conda remove -n sd  --all

conda info --envs

#激活

conda activate sd

出错: EnvironmentNameNotFound: Could not find conda environment: sd

这个错误搞得时间较长喔,解决起来很简单,看下面

#先删除

conda remove -n sd  --all

#再次创建,不按照python,可以实现

conda create -n sd

# 再创建的环境中安装python,这样就搞定了上面的错误 ubuntu24没有这个问题

conda install python=3.10.6

#退出

conda deactivate

#查看已有环境

conda env list

python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

四、也可以直接升级到python3.10.6 

1、从官网下载源文件

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

2、安装

先安装依赖文件

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

tar -zvxf Python-3.10.6.tgz 

cd Python-3.10.6
./configure --enable-optimizations
make
sudo make install

如果上面不成功则可以,输入以下命令安装Python二进制文件

sudo make altinstall

3、验证安装是否成功 

python3.10 --version

4、设置python的环境变量 

#查找路径

which python3.10

sd@sd:~/tools/Python-3.10.6$ which python3.10
/usr/local/bin/python3.10

# 编辑

sudo vi ~/.bashrc

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

source ~/.bashrc
sd@sd:~$ python -V
Python 3.10.6

5、更新pip默认指向 

rm /usr/bin/pip     #如果原来有pip的链接先删除,没有的话,这步不用管。
sudo ln -s /usr/local/bin/pip3.10 /usr/bin/pip
pip -V

python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

五、通过仓库直接安装cuda (不用安装)

conda search cudatoolkit
conda install cudatoolkit==11.8.0

六、安装cudnn(不用安装)

conda search cudnn

conda install cudnn==8.9.2.26

七、安装pytorch 

不装,sd运行是会安装

八、安装 Stable Diffusionn

下载stable-diffusion-webui

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

下载模型

cd stable-diffusion-webui/models/Stable-diffusion/

模型放在这里

启动sd

nohup ./webui.sh --listen --enable-insecure-extension-access --xformers --no-half-vae &

tail -f nohup.out

错误:Cannot locate TCMalloc. Do you have tcmalloc or google-perftool installed on your system? (improves CPU memory usage)

ps -aux | grep "webui.sh"

先安装这个

sudo apt-get install google-perftools

 修改到国内镜像 sudo vi launch_utils.py

def prepare_environment():
    # torch_index_url = os.environ.get('TORCH_INDEX_URL', "https://download.pytorch.org/whl/cu121")
    # torch_command = os.environ.get('TORCH_COMMAND', f"pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url {torch_index_url}")

    torch_index_url = os.environ.get('TORCH_INDEX_URL', "https://mirrors.aliyun.com/pytorch-wheels/cu121")
    torch_command = os.environ.get('TORCH_COMMAND', f"pip install torch==2.1.2 torchvision==0.16.2 -f {torch_index_url}")

模型下载

用迅雷下载

磁力地址:

magnet:?xt=urn:btih:2daef5b5f63a16a9af9169a529b1a773fc452637&dn=v1-5-pruned-emaonly.ckpt&tr=udp%3a%2f%2ftracker.opentrackr.org%3a1337%2fannounce&tr=udp%3a%2f%2f9.rarbg.com%3a2810%2fannounce&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a6969%2fannounce&tr=udp%3a%2f%2fopentracker.i2p.rocks%3a6969%2fannounce&tr=https%3a%2f%2fopentracker.i2p.rocks%3a443%2fannounce&tr=http%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.torrent.eu.org%3a451%2fannounce&tr=udp%3a%2f%2fopen.stealth.si%3a80%2fannounce&tr=udp%3a%2f%2fvibe.sleepyinternetfun.xyz%3a1738%2fannounce&tr=udp%3a%2f%2ftracker2.dler.org%3a80%2fannounce&tr=udp%3a%2f%2ftracker1.bt.moack.co.kr%3a80%2fannounce&tr=udp%3a%2f%2ftracker.zemoj.com%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.tiny-vps.com%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.theoks.net%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.publictracker.xyz%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.monitorit4.me%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.moeking.me%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.lelux.fi%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.dler.org%3a6969%2fannounce&tr=udp%3a%2f%2ftracker.army%3a6969%2fannounce

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

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

相关文章

springboot:少量配置信息情形

发现无论怎么改都还是指向8001 所以换一种方法 通过 结果 代码 import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.server.ConfigurableWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCusto…

SpringBoot的快速入门

Maven Maven可以方便管理依赖的 Jar 包 IDEA 自带Maven,也可以选择自己安装 安装Maven:https://blog.csdn.net/qq_59636442/article/details/142314019 创建项目 通过Spring Initializr 快速创建项目:https://start.springboot.io/ 我的项目名叫blog&a…

2024中国高校计算机大赛 — 大数据挑战赛-赛后复盘

一、赛题描述 基于气象大数据的自动站实况联合预测 风光清洁能源的管理与气象关系密不可分,因为风能和太阳能的发电效率直接依赖于气象条件。风力发电需要精确的风速和风向预测,而太阳能发电则依赖于日照时间和云层覆盖情况的准确预报。优质的气象预测…

J.U.C - 深入解析ReentrantLock原理源码

文章目录 概述synchronized的缺陷1)synchronized不能控制阻塞,不能灵活控制锁的释放。2)在读多写少的场景中,效率低下。 独占锁ReentrantLock原理ReentrantLock概述AQS同步队列1. AQS实现原理2. 线程被唤醒时,AQS队列的…

基于Java+Springboot+Jpa+Mysql实现的在线网盘文件分享系统功能设计与实现二

一、前言介绍: 免费学习:猿来入此 1.1 项目摘要 在线网盘文件分享系统的课题背景主要源于现代社会对数字化信息存储和共享需求的日益增长。随着互联网的普及和技术的快速发展,人们越来越依赖电子设备来存储和传输各种类型的数据文件。然而…

DBSCAN聚类——基于密度的聚类算法(常用的聚类算法)

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)简称密度聚类或密度基础聚类,是一种基于密度的聚类算法,也是一种常用的无监督学习算法,特别适用于形状不规则的聚类和含有噪声的数据集。主要用于…

C++:指针和引用

指针的基础 数据在内存当中是怎么样被存储的 数据在内存中的存储方式取决于数据的类型和计算机的体系结构 基本数据类型 整数类型:整数在内存中以二进制补码的形式存储。对于有符号整数,最高位为符号位,0 表示正数,1 表示负数。…

LabVIEW多通道面阵烟雾透过率测试系统

LabVIEW面阵烟雾透过率测试系统通过高精度多通道数据采集和实时处理技术,能够实现对固体推进剂烟雾的透过率进行精确测量。系统利用了LabVIEW的图形化编程环境及其丰富的设备驱动接口,有效提升了测试的自动化程度和数据处理的实时性。 项目背景&#xf…

PDF电子发票信息转excel信息汇总

PDF电子发票信息提取,支持将pdf发票文件夹下的剩所有发票,转为excel格式的信息,对于发票量比较大,不好统计,需要一个一个去统计的情况,可节省2个点以上的时间,一次下载,终身有效。 使…

51c视觉~合集7

我自己的原文哦~ https://blog.51cto.com/whaosoft/11536996 #Arc2Face 身份条件化的人脸生成基础模型,高一致性高质量的AI人脸艺术风格照生成 将人脸特征映射到SD的CLIP的编码空间,通过微调SD实现文本编码器转换为专门为将ArcFace嵌入投影到CLIP潜在…

【西瓜书】机器学习的模型评估

来源于西瓜书、南瓜书等内容。 误差与偏差 学习器的实际预测输出与样本的真实输出之间的差异,称为”误差“(error)。学习器在训练集上的误差,称为”训练误差“(training error)或”经验误差“(…

Mac安装Docker Desktop搭建K8s集群,解决镜像无法下载的问题

使用 Docker Desktop可以在本地方便地搭建出 K8s集群,但开启 K8s集群后往往会遇到 K8s 镜像拉取失败问题,本文旨在解决该问题,从而在本地搭建 K8s 集群。 安装Docker Desktop 安装 Docker Desktop 建议安装历史版本, 不建议安装最新版。因为…

【Leecode】Leecode刷题之路第54天之旋转矩阵

题目出处 54-螺旋矩阵-题目出处 题目描述 个人解法 思路: todo代码示例:(Java) todo复杂度分析 todo官方解法 54-旋转矩阵-官方解法 方法1:模拟 思路: 代码示例:(Java&#xff…

【YOLOv8】安卓端部署-1-项目介绍

【YOLOv8】安卓端部署-1-项目介绍 1 什么是YOLOv81.1 YOLOv8 的主要特性1.2 YOLOv8分割模型1.2.1 YOLACT实例分割算法之计算掩码1.2.1.1 YOLACT 的掩码原型与最终的掩码的关系1.2.1.2 插值时的目标检测中提取的物体特征1.2.1.3 coefficients(系数)作用1.…

Cesium教程01_实现Cartesian3 三维坐标操作

在 Vue 项目中使用 Cesium 实现 Cartesian3 三维坐标操作 目录 一、引言二、Cesium 与 Cartesian3 的优势三、示例应用:在地图上标注和计算距离 1. 项目结构2. 主要代码实现3. 运行与效果 四、代码讲解与扩展 1. Cartesian3 的基础操作2. 距离计算与中点标注 五、…

Qt5-雷达项目

界面: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QTimer> #include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);~Widget(); pr…

A040-基于springboot的智能停车计费系统设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

数据结构初识

目录 1.初识 2.时间复杂度 常见时间复杂度举例&#xff1a; 3.空间复杂度 4.包装类&简单认识泛型 4.1装箱和拆箱 5.泛型 6.泛型的上界 7.泛型方法 8.List接口 1.初识 1.多画图 2.多思考 3.多写代码 4.多做题 牛客网-题库/在线编程/剑指offer 算法篇&#xff1a…

CUDA HOME does not exist, unable to compile CUDA op(s),已解决

有一个服务器上没有/usr/loacl/cuda&#xff0c;我也没有权限在这个目录装cuda&#xff0c;使用pip装完torch&#xff0c;llama factory使用时出现&#xff1a; 应该是本地没有nvcc相关执行文件。 先使用了&#xff1a; conda install -c cudatoolkit-dev不管用&#xff0c; …

杰发科技AC7801——ADC定时器触发的简单使用

使用场景 在需要多次采样结果的情况下&#xff0c;比如1s需要10w次的采样结果&#xff0c;可以考虑使用定时器触发采样&#xff0c;定时器设置多少的时间就会多久采样转换一次。 再加上使用dma&#xff0c;采样的结果直接放在dma的数组里面。 实现了自动采样&#xff0c;自动…