stable diffusion的安装

news2025/4/7 11:39:37

stable diffusion的安装

  • 一、前言
  • 二、安装python环境
    • 1、已经安装python环境,但非3.10.6版本(可以不看)
  • 三、安装stable diffusion
  • 四、运行
  • 五、启动报错
    • 1、Torch is not able to use GPU
    • 2、Installing open_clip 卡住
    • 3、报错提示 "git" clone --config core.filemode=false
    • 4、not a git repository (or any of the parent directories): .git
    • 5、Installing requirements 卡住
    • 6、no module 'xformers'. Processing without...
    • 7、Stable diffusion model failed to load
    • 8、A tensor with NaNs was produced in Unet

一、前言

最近对 stable diffusion 很感兴趣,就打算安装学习一下,下面是安装的过程。

折腾了三个晚上,这里记录一下。

如果电脑分多个用户,请务必在管理员用户中安装,还有就是保存网络通畅,能避免一些问题。

二、安装python环境

stable diffusion运行需要安装python环境,因为是国外的网站,下载会比较慢,最好提前下载好。

因为后续的软件(stable diffusion webui)要求安装3.10.6版本的python,所以这里就安装这个版本

在这里插入图片描述

下载地址:https://www.python.org/downloads/release/python-3106/

在这里插入图片描述

选择适合自己的版本,我的window11 64位的系统,选择这个:

在这里插入图片描述

下载下来后是这样的

在这里插入图片描述

新建一个空文件夹,路径不要有中文字符,我这里是:

E:\environment\Python\python3.10.6

在这里插入图片描述

然后右击击这个文件,选择以 管理员的身份运行

在这里插入图片描述

选好之后选择下一步

在这里插入图片描述

在这里插入图片描述

等待下载结束
在这里插入图片描述

接着 window + x

在这里插入图片描述

在这里插入图片描述

出现了python 的版本号就说明安装成功了。

1、已经安装python环境,但非3.10.6版本(可以不看)

我以前安装过python3.10.4版本,如果不需要使用以前的版本,在打开原版本的安装程序时就会提示,选择这个卸载即可

在这里插入图片描述

如果卸载后安装文件夹不是空的,手动删除其余文件即可。

如果原来的版本还需要使用,在安装3.10.6版本时如何保留原来的版本?

和初次安装一样,不过在这一步时不勾选这个选项即可

在这里插入图片描述

这个是环境变量,我们后续手动修改。

右击此电脑,选择属性

在这里插入图片描述

选择高级系统设置

在这里插入图片描述

选择环境变量

在这里插入图片描述

找到 Path 这个变量,点击编辑
在这里插入图片描述

找到原来的python环境安装根目录,改为python3.10.6版本的环境根目录,再点击确定

在这里插入图片描述

ctrl + x,选择

在这里插入图片描述

输入 python 查看版本号

在这里插入图片描述

可以看到把python的版本切换到3.10.6了,需要切回原来的版本就在这里把路径改为原版本的根目录。

三、安装stable diffusion

stable diffusion是开源出来一堆源代码,比较难用,一般下载由 AUTOMATIC1111 大神开发的Stable Diffusion WebUI。

这是他的用户页面:

在这里插入图片描述

如果打不开 github 的小伙伴可以下载个 steam++

在这里插入图片描述

安装请自行百度,没什么坑。

Stable Diffusion WebUI 下载地址如下:

https://github.com/AUTOMATIC1111/stable-diffusion-webui?tab=readme-ov-file

这里的 master 是作者开发的分支
在这里插入图片描述

切换为发行版本

在这里插入图片描述

选择一个版本,这里选择最新的 v1.10.1 版

在这里插入图片描述

不过看路径都是一样的。

这里选择用 git 下载,也建议用 git ,我以前安装过了,这里偷个懒,git 的安装不难,请自行百度。

接着新建一个空的文件夹,不要有中文,我这里是

E:\software\StableDiffusionWebui

下载成功是这样的

在这里插入图片描述

命令如下:

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

也可以直接下载压缩包

在这里插入图片描述

下载下来是这样的文件

在这里插入图片描述

不过这样下载下来后面会报 git 相关的错,别问我是怎么知道的。

四、运行

在安装的根目录找到 webui-user.bat 文件,文件如下:

在这里插入图片描述

双击打开会出现一个黑窗口

在这里插入图片描述

第一次打开会比较慢,因为要下载很多的文件

五、启动报错

这里记录我安装过程中踩过的坑。

1、Torch is not able to use GPU

启动报错如下:

RuntimeError: Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

在这里插入图片描述

其实后面也给出了解决办法,就是在启动文件 webui-user.bat 中加上 --skip-torch-cuda-test 参数

--skip-torch-cuda-test

在这里插入图片描述

保存退出。

但是我有显卡,不想用这种方式解决,没有独立显卡或者使用A卡的小伙伴可以用这种方式解决。我在后面去掉了这个参数。

对于N卡用户需要安装 cuda,有显卡的应该都安装了驱动了吧(/滑稽)

我在安装 cuda 前先更新了驱动
在这里插入图片描述

再查看本机的显卡适合安装哪个版本的 cuda ,ctrl + x 选择 Window 终端(管理员),使用如下命令:

nvidia-smi

我在安装前更新了驱动,这是我的

在这里插入图片描述

可以看到我适合 12.6 版本的 cuda ,然后在这里下载,地址如下:

https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述

找到 12.6 版本的 cuda ,下载下来是这样的

在这里插入图片描述

双击打开,这里的路径默认就好

在这里插入图片描述

等待下载完成

在这里插入图片描述

等待下载完成,然后同意并继续

在这里插入图片描述

这里默认就好

在这里插入图片描述

勾选,点击 NEXT

在这里插入图片描述

等待安装完成

在这里插入图片描述

这是“Nsight Visual Studio版本摘要”,点击下一步确认

在这里插入图片描述

然后关闭即可

在这里插入图片描述

然后查看cuda是否安装成功,打开控制台,输入如下命令:

nvcc -V

在这里插入图片描述

然后看看能不能检测到 cuda ,随便找个目录,我是在这里:

D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\

新建 txt 文件,这里为 test.txt

在这里插入图片描述

打开加入如下代码

import torch
 
print(torch.cuda.is_available())  # 应该返回True

在这里插入图片描述

保存退出,再将 txt 后缀名改为 py

在这里插入图片描述

接着使用

cmd

打开黑窗口

在这里插入图片描述

接着使用 根目录\venv\Scripts\python.exe 执行,根据自己情况修改,我的 pyhon.exe 路径是

D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\python.exe

执行 test.py 文件,命令如下:

E:\software\StableDiffusionWebui\stable-diffusion-webui\venv\Scripts\python.exe E:\software\StableDiffusionWebui\stable-diffusion-webui\venv\Scripts\test.py

在这里插入图片描述

可以看到已经检测到了 cuda ,然后再次重启。

2、Installing open_clip 卡住

在这里插入图片描述

这个应该是网络的问题,我使用公司的网络时没有遇到这个错。

3、报错提示 “git” clone --config core.filemode=false

如果出现如下图所示的错:

在这里插入图片描述

打开控制台,输入如下命令:

git config --global http.sslverify "false"

在这里插入图片描述

然后重启。

4、not a git repository (or any of the parent directories): .git

使用 git 下载就没有遇到这个问题

我一开始是使用压缩包下载的这里做个记录

启动报错:

fatal: not a git repository (or any of the parent directories): .git

在这里插入图片描述

在根目录空白处右击选择 Git Bash Here ,然后输入如下命令:

git init

在这里插入图片描述

如果报错

ambiguous argument ‘HEAD’: unknown revision or path not in the working tree.

在这里插入图片描述

这个死活解决不了,就删了用 git 下载,就没有出现这个问题。

5、Installing requirements 卡住

启动时卡在 Installing requirements

在这里插入图片描述

进入这个目录,使用这里的 python.exe

在这里插入图片描述

使用

cmd

进入控制台

在这里插入图片描述

再使用

activate

进入虚拟环境

在这里插入图片描述

然后使用目录当前目录的 pyhon.exe 下载根目录的 requirements_versions.txt 文件,根据自己情况修改,我的 pyhon.exe 路径是

D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\python.exe

requirements_versions.txt 文件路径是

D:\software\StableDiffusionHand\stable-diffusion-webui\requirements_versions.txt

所以我的命令如下:

D:\software\StableDiffusionHand\stable-diffusion-webui\venv\Scripts\python.exe -m pip install -r D:\software\StableDiffusionHand\stable-diffusion-webui\requirements_versions.txt

在这里插入图片描述

等待下载完成,网络好的情况下下载很快的

在这里插入图片描述

下好之后,如果再次重启报错:

Can’t load tokenizer for ‘openai/clip-vit-large-patch14’. If you were trying to load it from ‘https://huggingface.co/models’, make sure you don’t have a local directory with the same name. Otherwise, make sure ‘openai/clip-vit-large-patch14’ is the correct path to a directory containing all relevant files for a CLIPTokenizer tokenizer.

在这里插入图片描述

这是缺少 clip-vit-large-patch14 文件,虽然再最后面已经给出了对应下载地址,但试了一下下载不了

可以到这里下载

在这里插入图片描述

对应 git 的下载命令如下:

git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git

或者这里下载文件

在这里插入图片描述

这里先演示用 git 下载的方式,先到根目录下新建 openai 文件夹

在这里插入图片描述

在这里插入图片描述

git 的命令如下:

git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git

或者和我第一次那样下载,在根目录新建 openai 文件夹,进入 openai 后新建 clip-vit-large-patch14 文件夹

在这里插入图片描述

接着将下载的文件放入

在这里插入图片描述

然后重新启动

在这里插入图片描述

成功加载模型

在这里插入图片描述

当然,模型也需要单独下载,启动没模型会报模型加载失败的错,模型如何下载可以看 7 。

6、no module ‘xformers’. Processing without…

小伙伴们在 5 应该注意到这个问题了吧,不过这个错误应该可以不理会,我本机没处理一样使用。。。证据如下:

在这里插入图片描述

回到错误:

no module ‘xformers’. Processing without…
no module ‘xformers’. Processing without…
No module ‘xformers’. Proceeding without it.

在这里插入图片描述

后面尝试一下解决,打开 launch_utils.py 文件

在这里插入图片描述

使用 COMMANDLINE_ARGS 搜索,在460行中加上如下命令:

--xformers

在这里插入图片描述

再次重启。

7、Stable diffusion model failed to load

启动报如下错:

在这里插入图片描述

就是没模型,加上就好,模型的后缀为 safetensors ,大小一般 2 - 11 G。

我是在这里下载模型的,下载好后放到这个目录就好了

在这里插入图片描述

接着重启

在这里插入图片描述

8、A tensor with NaNs was produced in Unet

这个错误是在图生图遇到的,具体如下:

modules.devices.NansException: A tensor with NaNs was produced in Unet. This could be either because there’s not enough precision to represent the picture, or because your video card does not support half type. Try setting the “Upcast cross attention layer to float32” option in Settings > Stable Diffusion or using the --no-half commandline argument to fix this. Use --disable-nan-check commandline argument to disable this check.

在这里插入图片描述

可以在 webui-user.bat 文件中加入

--no-half --disable-nan-check

解决

在这里插入图片描述

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

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

相关文章

systemverilog中的DPI-C用例介绍

文章目录 前言一、dpi_longint二、dpi_packed_array三、dpi_structure四、相关参考总结 前言 本文主要基于VCS内置的三个关于DPI-C的使用用例,记录一下DPI-C的使用方法。测试用例的路径为$VCS_HOME/doc/examples/testbench/sv/。测试用例包括:dpi_longi…

自然语言处理:第四十三章 视觉RAG:变革传统深度学习模型开发流程,开创下一代多模态视觉模型的新时代

文章链接:微信公众平台 (qq.com) 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易,希望走过路过点个关注和赞,笔芯!!! 写在前面: 笔者更新不易,希望走过路过点个关注和赞&#xff…

Chaper 09 深入理解Promise

文章目录 前言一、异步编程二、Promise 前言 在JavaScript中,异步编程是一个重要的概念。随着应用程序的复杂性增加,处理异步操作的方式也变得更加复杂。Promise是一种用于处理异步操作的对象,它提供了一种更清晰和更强大的方式来管理异步代…

智能的JavaScript开发工具WebStorm v2024.2全新发布

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具,被广大中国JS开发者誉为"Web前端开发神器""强大的HTML5编辑器""智能的JavaSscript IDE"等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。 立即获…

学生防近视台灯什么品牌好?学生护眼台灯怎么选?收下这份攻略

根据中国报告大厅的数据,近年来,随着科技的不断进步,台灯行业亦得到了快速发展。早期的台灯主要采用白炽灯作为光源,但随着LED技术的日益成熟,LED台灯已成为市场主流。目前,台灯行业正处于高速发展阶段&…

【吊打面试官系列-Redis面试题】Redis 过期键的删除策略?

大家好,我是锋哥。今天分享关于 【Redis 过期键的删除策略】面试题,希望对大家有帮助; Redis 过期键的删除策略? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 1、定时删除:在设置键的过期时间的同时,创建…

19 - 路径搜索的综合

---- 整理自狄泰软件唐佐林老师课程 文章目录 1. 需求2. 一些工具3. 编译规则的依赖4. 实验 1. 需求 工程项目中不希望源码文件夹在编译时被改动(只读文件夹)在编译时自动创建文件夹(build)用于存放编译结果编译过程中能够自动搜…

java基本程序设计结构与数据类型

1.一个简单程序的编写、编译与运行 编写如下的Main.java public class Main{public static void main(String[] args){System.out.println("Hello World");} }上面的程序有几个要注意的点: ①public 是访问修饰符,用来表示其他程序对Main类的…

【C++】vector(下)--下篇

个人主页~ vector(上)~ vector(下)–上篇~ vector 二、模拟实现3、test.cpptest1test2test3test4test5test6 三、一个难题 二、模拟实现 3、test.cpp test1 这个没啥好说的,就是尾插和迭代器都能正常使用 //测尾…

中国各、省、市、县、乡镇基尼系数数据(2000-2023年)

基尼系数是一个国际上广泛用来综合考察居民内部收入分配差异状况的重要指标。它表示在全部居民收入中,用于进行不平均分配的那部分收入占总收入的百分比。基尼系数的值介于0和1之间,其中0代表收入分配绝对平均,即每个人的收入都相等&#xff…

Qt21基础图形的绘制

基础图形的绘制 paintareapaintarea.hpaintarea.cpp paintexpaintex.hpaintex.cpp main.cpp运行图 paintarea paintarea.h #ifndef PAINTAREA_H #define PAINTAREA_H#include <QWidget> #include <QBrush> #include <QPen> #include <QPainter> #inc…

DZ主题模板 Discuz迪恩淘宝客购物风格商业版模板

Discuz淘宝客网站模板&#xff0c;迪恩淘宝客购物风格商业版模板。 版本支持&#xff1a;discuzx3.0版本,discuzx3.1版本,discuzx3.2版本。 包括网站首页&#xff0c;论坛首页&#xff0c;论坛列表页&#xff0c;论坛内容页&#xff0c;论坛瀑布流,频道列表页&#xff0c;频道…

开学季好物合集有哪些?全方位必备好物推荐

随着秋风轻拂&#xff0c;书页翻新的声音在耳边悄然响起&#xff0c;我们迎来了又一个开学季。在这个特别的时刻&#xff0c;每位学子都怀揣着对未来的无限憧憬&#xff0c;踏入了校园的大门。为了帮助大家更好地适应新学期的学习节奏&#xff0c;享受更加充实而愉快的校园生活…

解决Linux安装epel源提示没有可用安装包

目录 前言 常规方法总结 1、命令直接安装 2、通过网址下载安装 手动安装 1、EPEL的资源地址 2、选择版本 3、找到rpm文件存放位置 4、下载并移动至虚拟机中 5、安装 6、成功后会生成相应的repo文件 7、更新源 前言 EPEL&#xff0c; 即Extra Packages for Enterpri…

STM32开发资料

文章目录 前言一、正点原子&#xff1f;1. 资料链接2.论坛3.参考资料盘 二、野火1. 论坛2. 资料链接 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 学习需要&#xff1a;找一个开发板的资料作为基础 提示&#xff1a;以下是本篇文章正文内容&…

Redis 键值对操作全攻略

文章目录 一 . get 和 set二 . keys *三 . exists四 . del五 . expire六 . ttl七 . Redis 的 key 的过期策略八 . 定时器的实现8.1 基于优先级队列8.2 基于时间轮实现的定时器 九 . type十 . 数据库管理相关命令 Hello , 大家好 , 这个专栏给大家带来的是 Redis 系列 ! 本篇文章…

聊聊客户端/服务器与订阅/发布两大模型

正文 大家好&#xff0c;我是bug菌&#xff5e; 在项目开发中根据不同的应用场景通常会去尝试各种各样的通信方式&#xff0c;可能试来试去可能又回到了原地&#xff0c;而对于一个相对比较大的网络系统&#xff0c;不同的场景得考量不同的通信架构模型&#xff0c;那么今天就跟…

面向对象23种设计模式通俗理解

终点即是起点,自强不息! 设计模式的理解 设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 模式&#xff1a;在某些场景下&#xff0c;针对某类问题的某种通用的解决方案。 场景&#xff1a;项目所在的环境 问题&#xff1a;约束条件&#xff0c;项目目标…

慷智serdes调试记录(AIM951-958)

项目使用的是AIM951~958 951和958测试图谱输出 下面是两种1920*1080不同屏幕timing的951图谱输出&#xff08;一般我们提供屏幕timing&#xff0c;然后找慷智FAE要下寄存器配置&#xff0c;他有一个xcel文档&#xff0c;可以自己设置屏幕timing然后得到寄存器设置值&#xff…

Vue 3 Composition API 中如何正确添加表单项副本到数组

在 Vue 3 中&#xff0c;使用 Composition API 时&#xff0c;如果你尝试直接通过引用&#xff08;如 formState&#xff09;来填充 formList 数组&#xff0c;你会遇到一个问题&#xff1a;所有通过 addForm 方法添加的表单项实际上都是对 formState 的同一个引用。这意呀着&a…