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

news/2024/7/10 19:21:51 标签: stable diffusion, ai女友, ai作画, 多模态

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作图了

附:遇到的错误

  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.niftyadmin.cn/n/196381.html

相关文章

中级软考有没有必要考?

最近有 训练营 的同学来问我软考应该如何准备,毕竟两个科目还是花了一百多报考的,不好好准备就对不起这些钱了,也有问我要不要去报考软考的,因为班级里好多人都报了,问我软考这玩意可以给简历加分吗? 今天…

ChatGPT给自己写的科普性文章,你们认为写的怎样

国外ChatGPT账号被封厉害,如果有想体验国内版本的,关注wx公账号:码视野,回复1002即可获取 I. 什么是ChatGPT A. ChatGPT是什么? ChatGPT是一种基于自然语言处理技术的聊天机器人,它能够模拟人类对话并在对…

突破市场壁垒:如何利用关键词采集和市场调查找到你的细分市场?

在市场竞争日益激烈的今天,寻找一个适合自己的细分市场成为了每个企业和创业者的必要之举。然而,许多人在寻找细分市场时陷入了困境,不知道如何找到一个符合自己产品的市场,因此,在这种情况下,利用关键词采…

【MySQL】性能(压力)测试工具sysbench和tpcc的安装和使用

sysbench 1.编译安装(我还是推荐使用yum安装,下文有) 去官方网站下mysql的repo文件: https://dev.mysql.com/downloads/repo/yum/ [ rootnfs-server ~]# rpm -ivh mysql80-community-release-el7-6.noarch.rpm 警告&#xff1…

C语言函数:内存函数memcmp()

wpC语言函数&#xff1a;内存函数memcmp()以及函数实现与使用。 memcmp()&#xff1a; 头文件:#include <string.h> 作用&#xff1a; 进行内存比较。 参数&#xff1a; 解释&#xff1a;ptr1和ptr2是指针&#xff0c;从这个两个指针开始往后num个字节&#xff0c;将两…

【Ruby学习笔记】13.Ruby 迭代器及文件的输入与输出

前言 本章介绍Ruby的迭代器和文件的输入与输出。 Ruby 迭代器 简单来说&#xff1a;迭代(iterate)指的是重复做相同的事&#xff0c;所以迭代器(iterator)就是用来重复多次相同的事。 迭代器是集合支持的方法。存储一组数据成员的对象称为集合。在 Ruby 中&#xff0c;数组…

实验三 配置RIP协议

目录 一、实验内容 按照拓扑图规划好网络。 二、实验环境 三、实验步骤 一、实验内容 按照拓扑图规划好网络。 1、设置好各路由器和主机的IP地址&#xff0c;并将三个路由器都启用RIP协议&#xff0c; 除192.168.0.0网段外&#xff0c;其他网络都加入RIP。 2、设置R0内网…

Python 进阶指南(编程轻松进阶):一、处理错误和寻求帮助

原文&#xff1a;http://inventwithpython.com/beyond/chapter1.html 请您不要将计算机当成佣人&#xff0c;因为这样会让您常常感觉很烦躁。比如说当计算机向您显示错误消息时&#xff0c;并不是因为您冒犯了它。计算机是我们大多数人都会接触到的最复杂的工具&#xff0c;但归…