最详细的Ubuntu服务器搭建Stable-Diffusion教程(无显卡,仅用CPU)

news2025/1/19 20:16:00

1. 首先安装基本工具

# 安装python环境
sudo apt install wget git

若已经安装过请忽略

2. 安装miniconda(也可以自己下载python)

下载最新的安装包

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

执行安装

./Miniconda3-latest-Linux-x86_64.sh

一路回车,遇到选择就yes(切记要yes,不然要手动添加环境变量)
刷新环境

source .bashrc

此时命令行输入python,看到是3.10版本的就对了

(base) root@localhost:~# python
Python 3.10.9 (main, Jan 11 2023, 15:21:40) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

后续步骤可以用conda新建一个虚拟环境进行,我的服务器是临时的,所以就直接在base环境下进行了

3. git拉取项目到本地

执行

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

进入项目目录下

cd stable-diffusion-webui/

4. 安装对应Python依赖包

首先安装pytorchtorchvision,若是GPU环境的用户需要安装与cuda版本对应的torch,cpu环境则无具体要求

pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu116

然后给pip换上中科大的源,也可以换清华源或阿里源

pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple

接着安装对应依赖

pip install -r requirements_versions.txt

5. 从huggingface下载预训练模型参数

进入模型存放对应目录

cd models/Stable-diffusion/

下载一个模型,这里可以根据自己的需要下载

wget https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4-full-ema.ckpt

6. 启动项目

到这一步网上很多方法都是直接执行根目录下的webui.sh,我执行时有报错,就换了一种方式

回到项目根目录,执行launch.py文件,启动web服务,并指定监听端口为1234(端口号随意)

python3 launch.py --port 1234 --listen

若为cpu环境,则需提前执行

export COMMANDLINE_ARGS=--skip-torch-cuda-test

并且在运行时加入no-half

python3 launch.py --no-half --port 1234 --listen

启动后安装很多依赖以及克隆相应github仓库,过程有报错的可以看附录解决方案并重新执行这一步
若出现以下内容则说明启动成功

此时访问http://127.0.0.1:1234即可使用

7. 公网访问

若想让服务能在公网上被其他用户访问,则需进入weibu.py文件,修改对应代码,将shared.demo.launch()第一行参数改为share=True。

然后重新启动项目,此时能看到公网地址,说明成功

访问以上临时的公网地址就可以让别人也使用你的AI作图了

8. 汉化扩展

在任意目录下克隆中文扩展地址

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

进入下载好的文件夹,把localizations文件夹内的Chinese-All.jsonChinese-English.json复制到stable-diffusion-webui\localizations目录下,如下

启动web服务后,点击Settings,左侧点击User interface界面,在界面里最下方的Localization (requires restart),选择Chinese-All或者Chinese-English,点击界面最上方的黄色按钮Apply settings,再点击右侧的Reload UI即可完成汉化。


汉化后的页面

附:遇到的错误

  1. 报错RuntimeError: Couldn’t clone Stable Diffusion。
    解决办法:手动clone
git clone https://github.com/Stability-AI/stablediffusion.git "/root/stable-diffusion-webui/repositories/stable-diffusion-stability-ai"
  1. 报错gnutls_handshake() failed: The TLS connection was non-properly terminated
    解决办法:在执行时使用http而不是https,替换
git clone https://github.com/Stability-AI/stablediffusion.git

git clone http://github.com/Stability-AI/stablediffusion.git
  1. 报错RuntimeError: Couldn’t install open_clip。安装open_clip失败
    解决办法:进入launch.py文件,找到openclip_package 部分代码,修改对应部分代码为
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "git+https://gitee.com/ufhy/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b")

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

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

相关文章

NumPy 秘籍中文第二版:十二、使用 NumPy 进行探索性和预测性数据分析

原文:NumPy Cookbook - Second Edition 协议:CC BY-NC-SA 4.0 译者:飞龙 在本章中,我们涵盖以下秘籍: 探索气压探索日常气压范围研究年度气压平均值分析最大可见度用自回归模型预测气压使用移动平均模型预测气压研究年…

HTML svg 之<path>使用

<path> 元素用于定义一个路径。 一、命令 下面的命令可用于路径数据&#xff1a; 命令字母示意描述(小写表示相对于上个坐标的位移,相对路径)M(m) x ymoveto移动到(x,y)L(l) x ylineto画一条直线到(x,y)H(h) xhorizontal lineto水平画一条直线到 Xv(v) yvertical linet…

CVE漏洞复现-CVE-2022-22965-Spring-RCE漏洞

CVE-2022-22965-Spring-RCE漏洞 漏洞概况与影响 Spring framework 是Spring 里面的一个基础开源框架&#xff0c;其目的是用于简化 Java 企业级应用的开发难度和开发周期,2022年3月31日&#xff0c;VMware Tanzu发布漏洞报告&#xff0c;Spring Framework存在远程代码执行漏洞…

JAVAWeb05-Tomcat

1. Tomcat 1.1 概述 1.1.1 官方文档 地址: https://tomcat.apache.org/tomcat-8.0-doc/ 1.1.2 WEB 开发介绍 WEB&#xff0c;在英语中 web 表示网/网络资源(页面,图片,css,js)意思&#xff0c;它用于表示 WEB 服务器(主机)供浏览器访问的资源WEB 服务器(主机)上供外界访问…

终于见识到 Python 的天花板。。

Python 有很多衍生方向&#xff0c;比如 web 开发、网络爬虫、数据分析、数据挖掘、机器学习、人工智能等等&#xff0c;就业范围是很广的&#xff0c;Python 相较于别的编程语言对小白入门还是很友好的&#xff0c; Python 入门推荐这份学习资料&#xff1a;PYTHON全案例实践…

【基础知识】PCB布局设计入门步骤

准备是成功的基石&#xff0c;在PCB设计中也是如此。改进和增长将伴随经验&#xff0c;首先做好准备能够充分利用经验获得成功。为了帮助你做好准备&#xff0c;下面分享一些基本的PCB布局设计步骤。 从良好的原材料入手是您PCB布局设计的第一步 无论打算执行什么任务&#xff…

Vue3——一文入门Vue3

Vue3的优势 1. 性能的提升 打包大小减少41% 初次渲染快55%&#xff0c;更新渲染快133% 内存减少54% … 2. 源码的升级 使用Proxy代替defineProperty实现响应式 重写虚拟DOM的实现和Tree-Shaking … 3. 拥抱TypeScript Vue3可以更好的支持TypeScript 4. 新的特性 1.C…

Java 进阶(2) Collection集合

集合的概念 概念&#xff1a;集合是java中提供的⼀种容器&#xff0c;可以⽤来存储多个数据。 数组&#xff1a;存储⼀组相同数据类型的数据结构。 局限&#xff1a;定长 集合&#xff1a;动态存放多个对象。 动态&#xff1a;集合的⼤⼩随着存储的数据量⽽改变。 多个&…

python界面开发案例:制作一个计算器软件

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 在我们手机上大家都有一个计算器&#xff0c;对吧 那它这功能是怎么实现的呢&#xff1f; 今天我们在电脑上来实现一个电脑端计算器界面~ 开发环境&#xff1a; Python 3.8 / 编译器 Pycharm 2021.2版本 / 编辑器 本文所有…

leedcode刷题(5)

各位朋友们&#xff0c;大家好&#xff0c;今天是我leedcode刷题的第五篇&#xff0c;我们一起来看看吧。 文章目录栈的压入&#xff0c;弹出序列题目要求用例输入提示做题思路代码实现C语言代码实现Java代码实现最小栈题目要求用例输入提示做题思路代码实现Java代码实现栈的压…

MATLAB绘制局部放大图

MATLAB绘制局部放大图 1 工具准备 MATLAB官网-ZoomPlot(Kepeng Qiu. Matlab Central, 2022) 初始数据图绘制完成后&#xff0c;调用以下代码&#xff1a; %% 添加局部放大 zp BaseZoom(); zp.plot;1.1 具体绘制步骤 具体绘制步骤如下&#xff1a; 通过鼠标左键框选作图区…

STM-32:I2C通信协议—软件I2C读写MPU6050

目录一、I2C通信二、硬件电路三、I2C时序基本单元3.1起始和终止3.1.1起始条件3.1.2终止条件3.2发送一个字节3.3接收一个字节3.4发送应答3.5接收应答四、I2C时序4.1指定地址写4.2当前地址读4.2指定地址读4.3连续读与写五、MPU6050简介六、MPU6050参数七、硬件电路八、MPU6050框图…

用英语翻译中文-汉字英文翻译

中文转英语翻译 作为一款高效、准确的中文转英语翻译软件&#xff0c;我们的产品可以帮助全球用户更好地沟通和合作&#xff0c;实现跨文化交流。 在全球化的今天&#xff0c;中英文翻译已经成为商务、学术、娱乐等各个领域不可或缺的一部分。我们的中文转英语翻译软件是为了…

大学生必备神器

大学生要掌握的办公软件因专业和工作需求而异&#xff0c;但是以下是一些普遍适用于大学生的办公软件&#xff0c;可以帮助提高学习和工作效率&#xff0c;今天就给大家推荐几款大学生常用的软件。 1.OneDrive 这是微软出品的云存储产品&#xff0c;与百度网盘有些类似&#…

龙芯中科官方宣布,龙芯中科企业办公信息化平台全面完成国产化替代

4月4日&#xff0c;龙芯中科官方宣布&#xff0c;龙芯中科企业办公信息化平台全面完成国产化替代。龙芯 ERP 系统全系统使用国产化平台&#xff0c;私有化部署于基于龙芯 3C5000 服务器集群的虚拟化云平台上&#xff0c;使用自研 Loongnix 操作系统、自研 LoongDB 数据库及龙芯…

SpringBoot集成Milo库实现OPC UA客户端:连接、遍历节点、读取、写入、订阅与批量订阅

背景 前面我们搭建了一个本地的 PLC 仿真环境&#xff0c;并通过 KEPServerEX6 读取 PLC 上的数据&#xff0c;最后还使用 UAExpert 作为OPC客户端完成从 KEPServerEX6 这个OPC服务器的数据读取与订阅功能。在这篇文章中&#xff0c;我们将通过 SpringBoot 集成 Milo 库实现一…

idea右边找不到maven窗口不见了的多种解决方法

文章目录1. 文章引言2. 问题的多种解决方法3. 解决问题的其他方法4. 文末总结1. 文章引言 今天在从gitlab上克隆完Maven项目后&#xff0c;在idea中打开时&#xff0c;右边却不见了Maven窗口&#xff0c;如下图所示&#xff1a; 从上图中&#xff0c;你就会发现&#xff0c;明明…

JavaScript变量与基本数据类型

目录 一、声明变量 &#xff08;1&#xff09;let &#xff08;2&#xff09;const &#xff08;3&#xff09;var 二、基本类型 &#xff08;1&#xff09;undefined和null &#xff08;2&#xff09;string &#xff08;3&#xff09;number和bigin &#xff08;4&a…

C#基础复习--数组

数组 目录 数组 数组的类型 数组是对象 声明一维数组或矩形数组 实例化一维数组或矩形数组 访问数组元素 初始化数组 显式初始化一维数组 显式初始化矩形数组 快捷语法 隐式类型数组 交错数组 声明交错数组 快捷实例化 实例化交错数组 交错数组中的子数组 比较矩形数组和交…

【如何使用Arduino控制WS2812B可单独寻址的LED】

【如何使用Arduino控制WS2812B可单独寻址的LED】 1. 概述2. WS2812B 发光二极管的工作原理3. Arduino 和 WS2812B LED 示例3.1 例 13.2 例 24. 使用 WS2812B LED 的交互式 LED 咖啡桌4.1 原理图4.2 源代码在本教程中,我们将学习如何使用 Arduino 控制可单独寻址的 RGB LED 或 …