【A卡,Windows】stable diffusion webui下载安装避坑指南

news2024/11/28 21:49:50

观前提醒

本文内容都是本人亲身经历的,一个一个安装下载测试所感,当然如果你更想用傻瓜式集成包的,那还是跳过这篇文章吧。

当然我不推荐这篇文章的操作,因为我用了差不多1h才有一副图,有N卡,就用N卡,这只是无奈之举而已,方便那些像我一样暂时没有换机子打算的人群,现在主机显卡其实也不贵。

N卡的可以参考这篇文章https://blog.csdn.net/binzai_16/article/details/130216343,但是注意还是要结合这篇文章的避坑指南,不然后续要拿时间去弥补之前所犯的错误。

正文

把该下的东西都下好,就如下的目录清单。

  • git https://git-scm.com/download/win
  • python 3.10.6 https://link.zhihu.com/?target=https%3A//www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe
  • 魔法上网 自己想办法找,这个我不好推荐

避坑1:一开始不要急着gitclone后就打开webui-user.bat

1.1 建议使用如下git clone写法

之所以这样做是避免cd到某个文件夹下时,使用git bash时,提示443或者openSSL等字眼的错误,网上说是网速或者全局的问题,其实也包括权限的问题。

git clone git的地址 “复制到的本地路径地址\文件夹名”

比如我的:

git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git “D:\SD”

1.2 编辑webui-user.bat的第三行如下(因为用A卡)

set COMMANDLINE_ARGS=–medvram --skip-torch-cuda-test --no-half --precision full --use-cpu all

1.3 不使用v1.5SD模型

在文件目录models\Stable-diffusion下放入另一个模型,这是为了避免之后好不容易安装完了,它提示你没有模型,好不容易下载完。

错误提示

something went wrong

如果看到运行webui-user.bat时,还是自己生成了v1.5SD模型,那么之后就删掉它。

因此要到这个下载地址https://cyberes.github.io/stable-diffusion-models/#stable-diffusion-1-4,推荐迅雷下载,下载好后放入到我提到的文件夹中。

1.4 下载rust编辑器

看到这里你肯定会疑惑了,我们不是要用python的吗

这个我也不知道,你下了就对了,不然后面的transformers无法安装

因为是windows到官网选择推荐的下载方式https://www.rust-lang.org/tools/install。

在这里插入图片描述
执行文件,输入1即可。

在这里插入图片描述
测试是否安装成功。
在这里插入图片描述

避坑2:所有的下载都必须git clone,不要本地下载

这是因为git clone下载时会自动有个node tree,我不知道这hash值具体有什么用的,应该类似钥匙,如果本地下载后,它们就会没有这个hash值,运行webui-user.bat时就会提示错误。

错误类似:

reference is not a tree: 24268930bf1dce879235a7fddd0b2355b84d7ea6

2.1 在完成上述步骤后,就运行webui-user.bat

等一会,等到命令行工具显示下载installing GFPGAN时,就Ctrl+C停止批量工具操作,这时会产生一个\venv\Scripts的路径。

2.2 git clone命令与相应操作如下(看自己安装目录更改)

使用git bash工具

git clone https://github.com/TencentARC/GFPGAN.git "D:\SD\venv\Scripts\GFPGAN"

之后在命令行到D:\SD\venv\Scripts\GFPGAN输入如下的命令。

D:\SD\venv\Scripts\python.exe -m pip install basicsr facexlib 
D:\SD\venv\Scripts\python.exe -m pip install -r requirements.txt 
D:\SD\venv\Scripts\python.exe setup.py develop
D:\SD\venv\Scripts\python.exe -m pip install realesrgan

然后到下载open_clip,也是同样的git bash

git clone https://github.com/mlfoundations/open_clip "D:\SD\venv\Scripts\open_clip"

命令行到D:\SD\venv\Scripts\open_clip输入如下的命令。

D:\SD\venv\Scripts\python.exe setup.py build install

也是同样的操作到CLIP

git clone https://github.com/openai/CLIP.git "D:\SD\venv\Scripts\CLIP"

到相应的目录下,输入如下命令

D:\SD\venv\Scripts\python.exe -m pip install ftfy regex tqdm
D:\SD\venv\Scripts\python.exe setup.py build install

2.3 gitclone与安装依赖

其实操作也跟2.2类型,相应操作也是合起来如下,没有repositories文件夹,就自己新建一个:

git clone https://github.com/Stability-AI/stablediffusion.git "D:\SD\repositories\stable-diffusion-stability-ai" 

git clone https://github.com/CompVis/taming-transformers.git "D:\SD\repositories\taming-transformers" 

git clone https://github.com/crowsonkb/k-diffusion.git "D:\SD\repositories\k-diffusion"

git clone https://github.com/sczhou/CodeFormer.git "D:\SD\repositories\CodeFormer" 

git clone https://github.com/salesforce/BLIP.git "D:\SD\repositories\BLIP"

但是要到上面涉及到的每个目录下,检查是否有requirements.txt文件,有就到对应目录的命令行,执行如下命令

D:\SD\venv\Scripts\python.exe -m pip install -r requirements.txt 

2.4 pip transformers时,麻烦的tokenziers错误

解决方案:网络问题,试多几次(这里我用了差不多3~4h弄成功了)

尽管之前已经安装好了rust编辑器,但是它还会提示各种千奇百怪的错误,比如我下面这个。

Building wheels for collected packages: tokenizers
  Building wheel for tokenizers (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for tokenizers (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [62 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-310
      creating build\lib.win-amd64-cpython-310\tokenizers
      copying py_src\tokenizers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers
      creating build\lib.win-amd64-cpython-310\tokenizers\models
      copying py_src\tokenizers\models\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\models
      creating build\lib.win-amd64-cpython-310\tokenizers\decoders
      copying py_src\tokenizers\decoders\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\decoders
      creating build\lib.win-amd64-cpython-310\tokenizers\normalizers
      copying py_src\tokenizers\normalizers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\normalizers
      creating build\lib.win-amd64-cpython-310\tokenizers\pre_tokenizers
      copying py_src\tokenizers\pre_tokenizers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\pre_tokenizers
      creating build\lib.win-amd64-cpython-310\tokenizers\processors
      copying py_src\tokenizers\processors\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\processors
      creating build\lib.win-amd64-cpython-310\tokenizers\trainers
      copying py_src\tokenizers\trainers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\trainers
      creating build\lib.win-amd64-cpython-310\tokenizers\implementations
      copying py_src\tokenizers\implementations\base_tokenizer.py -> build\lib.win-amd64-cpython-310\tokenizers\implementations
      copying py_src\tokenizers\implementations\bert_wordpiece.py -> build\lib.win-amd64-cpython-310\tokenizers\implementations
      copying py_src\tokenizers\implementations\byte_level_bpe.py -> build\lib.win-amd64-cpython-310\tokenizers\implementations
      copying py_src\tokenizers\implementations\char_level_bpe.py -> build\lib.win-amd64-cpython-310\tokenizers\implementations
      copying py_src\tokenizers\implementations\sentencepiece_bpe.py -> build\lib.win-amd64-cpython-310\tokenizers\implementations
      copying py_src\tokenizers\implementations\sentencepiece_unigram.py -> build\lib.win-amd64-cpython-310\tokenizers\implementations
      copying py_src\tokenizers\implementations\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\implementations
      creating build\lib.win-amd64-cpython-310\tokenizers\tools
      copying py_src\tokenizers\tools\visualizer.py -> build\lib.win-amd64-cpython-310\tokenizers\tools
      copying py_src\tokenizers\tools\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\tools
      copying py_src\tokenizers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers
      copying py_src\tokenizers\models\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\models
      copying py_src\tokenizers\decoders\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\decoders
      copying py_src\tokenizers\normalizers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\normalizers
      copying py_src\tokenizers\pre_tokenizers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\pre_tokenizers
      copying py_src\tokenizers\processors\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\processors
      copying py_src\tokenizers\trainers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\trainers
      copying py_src\tokenizers\tools\visualizer-styles.css -> build\lib.win-amd64-cpython-310\tokenizers\tools
      running build_ext
      running build_rust
      cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --
      warning: unused manifest key: target.x86_64-apple-darwin.rustflags
          Updating crates.io index
      warning: spurious network error (2 tries remaining): failed to send request: 鎿嶄綔瓒呮椂
      ; class=Os (2)
      warning: spurious network error (1 tries remaining): failed to send request: 鎿嶄綔瓒呮椂
      ; class=Os (2)
      error: failed to get `env_logger` as a dependency of package `tokenizers-python v0.10.3 (C:\Users\LENOVO\AppData\Local\Temp\pip-install-bw47mt33\tokenizers_3b1650888a634bdab4e4c98d147e7833)`

      Caused by:
        failed to load source for dependency `env_logger`

      Caused by:
        Unable to update registry `crates-io`

      Caused by:
        failed to fetch `https://github.com/rust-lang/crates.io-index`

      Caused by:
        failed to send request: 鎿嶄綔瓒呮椂
        ; class=Os (2)
      error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for tokenizers
Failed to build tokenizers

后面我找了网上不少答案,发现它们的回答根本就不统一,后面我问了一下chatGPT,人家的回答如下:

说人话:chatGPT不知道为什么会这样啊?

注意

其实就是网络问题,跟你的工具版本没关系的,你多试几次,或者找找有没有更快下载的通道

在这里插入图片描述

错误信息表明在安装过程中构建tokenizers包的wheel文件出现了问题。错误发生在运行cargo rustc命令时,该命令用于编译Rust代码。

具体的错误信息如下:

error: failed to get `env_logger` as a dependency of package `tokenizers-python v0.10.3`

这个错误表明构建过程无法获取tokenizers包所需的env_logger依赖项。

错误进一步说明了以下内容:

Caused by:
  Unable to update registry `crates-io`

Caused by:
  failed to fetch `https://github.com/rust-lang/crates.io-index`

Caused by:
  failed to send request: 鎿嶄綔瓒呮椂
; class=Os (2)

这些消息表明更新注册表和获取所需的依赖项时出现了问题。错误信息failed to send request: 鎿嶄綔瓒呮椂表明可能存在网络问题或者crates.io索引的临时问题。

以下是解决该问题的几个步骤:

  1. 检查网络连接:确保您拥有稳定的互联网连接,并能够访问外部资源。

  2. 重试安装:有时网络问题可能是暂时的。再次尝试运行安装命令,看看问题是否能够解决。

  3. 清除pip缓存:pip会缓存软件包以提高安装速度。然而,缓存文件有时会引发问题。您可以尝试通过运行以下命令清除pip缓存:

    pip cache purge
    
  4. 指定其他软件包源:您可以尝试从其他软件包源安装该软件包。例如,您可以使用--index-url选项来指定另一个软件包索引:

    pip install --index-url https://pypi.python.org/simple/ tokenizers
    
  5. 升级pip和setuptools:过时的pip和setuptools版本有时会引发问题。尝试运行以下命令升级它们:

    pip install --upgrade pip
    pip install --upgrade setuptools
    
  6. 安装Rust:tokenizers包依赖于Rust。确保您的系统上已安装Rust并且是最新版本。您可以按照官方Rust网站(https://www.rust-lang.org/tools/install)上的说明安装Rust。

如果尝试了这些步骤后问题仍然存在,建议搜索与tokenizers包相关的类似问题或错误消息,看看是否有已知的解决方案或变通方法。您可以在论坛或问题跟踪器上寻找相关信息。

避坑3:正常运行webui-user.bat,测试

如果它莫名其妙自己下载v1.5SD模型,就后续删掉,正常会得到如下结果,
在这里插入图片描述

其中Installing requirements不用管它,过会就行了。

输入网址http://127.0.0.1:7860,查看
在这里插入图片描述

如果没有在页面上出现something went wrong那么就是成功了

3.1 如果出现 AttributeError: 'NoneType' object has no attribute 'process_texts'错误

回答你问题的网址https://github.com/vladmandic/automatic/issues/382

其实就是你没等SD模型加载完,就开始生图了,过会再尝试就行了

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

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

相关文章

jdk14——独立打包工具jpackage

jpackage是jdk14正式加入的一个用于独立打包的工具; 官网简介翻译: jpackage工具将以Java应用程序和Java运行时映像作为输入,并生成一个包含所有必要依赖项的Java应用程序映像。它可以生成特定于平台格式的本机软件包,例如Windo…

【UE】制作可拖动的UI

效果 步骤 1. 新建一个控件蓝图并打开 这里我在画布面板中加了一个垂直框,垂直框内包含一个按钮和一个图像控件 我设置图像控件占垂直框的2/3,按钮占1/3 添加按钮按压事件、松开事件 在控件蓝图的事件图表中添加如下节点,其中“Close”、“…

通达信三重滤网交易系统指标公式(含强力指数指标)

三重滤网交易系统由《以交易为生》的作者亚历山大埃尔德(Alexander Elder)发明的,1986年首次公开,后续又不断改进,增加或者改变了一些细节,但是使用多重时间周期和技术指标进行分析决策的原理没变。 一、强力指数指标 《以交易为…

Taro 项目怎么获取元素的高度和视口高度

最近做小程序,用的Taro,需要设置空状态居中显示,因为空状态出现的地方不一样,所以需要动态设置,那么就需要获取元素的高度来计算 文档翻了一遍也没有找到,原生js获取高度得到的是null,百度了下…

点云拟合平面原理和实现(Halcon)

最近学习了一下拟合平面的原理,看了这篇文章最小二乘拟合平面(C版) - 知乎 讲到了以下几种方法,我这里在halcon中对其一一实现。 一、算法原理 1,直接求解法 2.使用拉格朗日乘子法 3 SVD分解法 二、Halcon实现 1.各方法对比 在halcon中…

Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性

什么是对象和类 什么是 Python 类、类对象、实例对象 类变量、实例变量/类属性、实例属性 前言 只是叫法不一样 实例属性 实例变量 类属性 类变量 个人认为叫属性更恰当 类属性和实例属性区别 类属性,所有实例对象共享该属性实例属性,属于某一…

win10系统如何设置虚拟回环

在日常生活中,人们(特别是IT行业者)通常需要在一台机上进行软件测试,而同一台计算上通常只能使用一个地址,而在需要同时使用两个地址进行测试的时候就显得捉襟见肘。此方法通过配置window10自带的环回适配器,达到上述目的。 win1…

如何用chatgpt写作论文 GPT写毕业论文的技巧

如何用chatgpt写作论文 GPT写论文的技巧 经常被问到为什么万事知天下小程序不能写论文。也不是不能写,只是GPT3.5的上下文只有4K,一般论文要写上万字,所以不可能你直接输入一个论文标题就直出结果的。 不过手工分一下步骤就可以了。先让写…

适用于中小企业的5种采购策略

与大企业不同,在采购管理方面,中小企业往往不得不在更有限的资源范围内运作,并且没有同等水平的经验丰富的采购专业人员或先进的采购技术。这会使优化采购流程并实现与大型企业相同水平的成本节约和风险管理变得更具挑战性。但是,…

docker idea直接部署到腾讯云镜像服务

首先创建一个Dockerfile 编写Dockerfile的信息 FROM java:8 MAINTAINER clarkshixxx.com RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai >/etc/timezone ENV ACTIVE"pre" ENV loggingpath"/zhibo/logs"…

【Flutter 工程】005-代码分离实践:flutter_hooks functional_widget

【Flutter 工程】005-代码分离实践:flutter_hooks & functional_widget 文章目录 【Flutter 工程】005-代码分离实践:flutter_hooks & functional_widget一、概述1、Flutter “嵌套地狱”2、代码分离实践 二、实践1、安装 flutter_hooks & f…

油猴脚本尝试

现在是这样的,我这边有个运维系统,里面有个日志,我们经常要复制,然后我们复制的时候需要打开内容,然后去选中复制。 类似于这种,我觉得这个时候,去选中复制就很麻烦,右边这里不是有…

ChatGPT四大基本使用场景分析

ChatGPT是一种基于深度神经网络的自然语言生成模型,它能够通过大量的数据训练和学习,以模拟人类的自然语言交互方式来理解和回答用户提出的问题。作为一种全新的人工智能技术,ChatGPT具有高度的灵活性和可扩展性,可以不断地优化、…

Redis BigKey问题

1.广告平台,海量数据查询固定前缀的key 不要使用keys , 使用 scan 命令 scan 0 match "user:" 10 2.Memory usage命令用过吗 memory usage key [semples count] :计算每个键值对的字节数 3.bigKey 问题,多大算bigKey,如何发现?如何处理?如…

【Linux】打开Linux大门,踏入Linux世界(环境搭建再加一群Linux基本指令就OK啦~)

🧑‍🎓个人主页:简 料 🏆所属专栏:Linux系统编程与网络编程 🏆个人社区:越努力越幸运社区 🏆简 介:简料简料,简单有料~在校大学生一枚&#x…

论文分享 | 视野约束下多机器人系统的最小持久图生成与编队控制

阿木推出的Prometheus项目校园赞助活动,再次迎来开发者参与! 北京理工大学自动化学院赵欣悦同学,在Prometheus开源仿真架构的基础上进行了二次开发,且使用P450进行了真机实验并发表了相关论文,其论文《视野约束下多机…

前端开发如何速成java,使用java开发网络接口

引言 我是干前端的,闲来没事,也想学学java,下面我会根据我学习java的经历来整理出java的速成之路。 学习路线 按照数字的顺序学下去就行了 1.学习java基础教程:主要听 class和集合这两部分吧,这两个部分非常重要&am…

ASEMI代理韩景元可控硅C106M参数,C106M封装,C106M尺寸

编辑-Z 韩景元可控硅C106M参数: 型号:C106M 断态重复峰值电压VDRM:600V 通态电流IT(RMS):4A 通态浪涌电流ITSM:30A 平均栅极功耗PG(AV):0.2W 峰值门功率耗散PGM:1W 工作接点温度Tj&…

【LeetCode】《LeetCode 101》第九章:巧解数学问题

文章目录 9.1 公倍数与公因数9.2 质数204.计数质数(中等) 9.3 数字处理504. 七进制数(简单)172. 阶乘后的零(中等)415. 字符串相加(简单)326. 3 的幂(简单) 9…

mysql语句最大执行时间问题解决,无需改mysql配置

下面是我排错的一个过程: 1、我是ado.net执行一个查询语句报了个错: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. 译:超时已过期。操作完成前经过的超时时间&a…