当前位置: 首页 > news >正文

StableDiffusion打包 项目迁移 项目分发 0

StableDiffusion项目迁移 0

先看了几个其他人的本地部署文章和视频,对别人的步骤做记录。(写的很潦草,只是注意一下有什么点需要注意)

虽然秋叶大佬有整合包,但是我是为了项目分发学习的,还是想自己配环境。

文章目录

  • StableDiffusion项目迁移 0
    • 下载
    • 经验1
    • 经验2
    • 经验3
    • 经验4
    • 经验5

下载

显卡驱动更新:https://www.nvidia.cn/geforce/drivers/

下载安装三个程序:

  1. python3.10.6: https://www.python.org/downloads/release/python-3106/
  2. git: https://git-scm.com/download/win
  3. stable-diffusion webui: https://github.com/AUTOMATIC1111/stable-diffusion-webui

经验1

创建一个单独的文件夹,在程序安装至该文件夹中,文件夹显示内容为:

--python
--git
--stable-diffusion-webui-版本号
这三个都是文件夹,里面的内容就是一堆小文件

然后进入文件夹stable-diffusion-webui,编辑webui.bat,添加set COMMANDLINE_ARGS=--no-gradio-queue内容。

在这里插入图片描述

科学上网,运行webui.bat,这是它会自动帮我们下载所需要的依赖包,例如torch等等。

如果下载的过程中出现紫色的notice需要更新pip,那么复制它的代码,在cmd中运行即可。

更新完成后,修改文件夹名称(将版本号去掉),再运行webui.bat。就能用了。

总结:

  1. 显卡驱动更新后,再下载三个东西

  2. 有了python环境后,之后的所有依赖包在第一次运行webui.bat时都已经帮我们配好了,自动下载到.\python\Lib\site-package中了,很方便。

  3. 适当修改bat,环境应该是可以直接迁移的,下次试试。

  4. 看了很多配环境和打包环境的视频,总的思路是,所有依赖包在python文件夹下,这个python文件夹就是一个环境。然后安装完后检测版本,也就是看依赖包是否可用。然后写脚本文件用来声明一些依赖包的环境变量,都是用的相对路径。

    把配好的python文件夹移动到某个项目的根目录下;或者在根目录下创建python文件夹,在cmd中运行该文件夹下的python.exe,并用项目给出的requestment配环境。例如.\env_name\python.exe -m pip install -r requestment.txt

    python用的应该是相对路径。

bilibili地址

经验2

官方的快速启动:

在这里插入图片描述

视频思路:

# 先安装一个python环境
conda create-n python311_cuda118 python=3.11
# 安装cuda
conda install nvidia/label/cuda-11.8.0::cuda-toolkit
# 安装cudnn
conda install cudnn
# 下载webui并解压
# 将整个环境文件拷贝到项目根目录下
# 用该环境中的python安装依赖
.\runtime\python.exe -m pip install -r requirements.txt
# 安装torch三件套
.\runtime\python.exe -m pip install torch torchvision torchaudio -index-url https://download.pytorch.org/whl/cu118
# 安装onnxruntime-gpu
.\runtime\python.exe -m pip install onnxruntime-gpu

# 编写脚本,检测软件脚本
torch
import torch
print("cudnn版本:",torch.backends.cudnn.version())
print("torch版木:",torch.__version__)
print("cuda版本:",torch.version.cuda)
print("gpu是否可用",torch.cuda.is_available())
# 运行脚本,检测是否可用
.\runtime\python.exe check_env.py

# 编写脚本,检测onnxruntime
import onnxruntime as ort
def gpu_diagnostics():
	print(ort.get_available_providers())
if__name__ == "__main__"
	gpu_diagnostics()
# 检测onnxruntime
.\runtime\python.exe check_back.py

声明入口:

在这里插入图片描述

经验3

1

# conda创建环境,并下载python310环境
conda create -n envname python=3.10
# 激活环境
conda activate envname
# 下载pytorch,自带cuda。最后的-c是指定渠道
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
# 安装完后,进行检验,命令行输入:
python
torch.__version__
touch.cuda.is_available()
exit()
# 安装相关依赖
pip install -r requirements_versions.txt
# 标红的包需要独立安装(ipython)
pip install ipython
# 安装xformer,加速绘图的一个包,注意版本匹配
pip install -U xformers --index-url https://download.py ytorch.org/whl/cu121

(在pytorch官网选择安装命令后,pytorch自动先帮我们安装cuda。所以不需要再麻烦的先安装cuda)

在这里插入图片描述

2 配置webui-user.bat文件,复制对应的文件地址即可,用的是绝对路径。

@echo off
set PYTHON=D:\sd-webui\python\python.exe %python可执行文件地址%
set GIT=D:\sd-webui\Git\bin\git.exe
set VENV DIR=\sd-webui\python %python目录地址%
set COMMANDLINE ARGS=--xformers
call webui.bat

3 配置webui.bat文件:

打开文件,查找Scripts,然后删掉前面的路径。其他地方也是一样的。(因为我们的python.exe不在这个目录里,所以需要删掉)
在这里插入图片描述

删除这一行:(call 命令用于调用另一个批处理文件,并在被调用的批处理文件执行完毕后返回到当前脚本继续执行后续命令。)

在这里插入图片描述

4 安装clip标签生成器(插件):

pip install ftfy regex tqdm
pip install git+https://github.com/openai/CLIP.git

5 运行webui-user.bat脚本文件。首次运行会下次其他小东西,并且会下载一个底模。

(底模没下载成功不要紧,不影响ui界面启动。后续自己下就可以,这就涉及到SD的学习了,能启动就不要紧。)

经验4

安装完依赖包之后,要先将python的环境变量设置到webui-user.bat

img

需要配置启动参数

set COMMANDLINE ARGS=--xformers --no-gradio-queue --lowvram --precision full --no-half

xformers是加速生图的

–no-gradio-queue,可以连接上网络了

-lowvram --precision full --no-half:gpu生图,不然就是cpu

经验5

秋叶大佬启动器中的webui-user.txt和webui.bat没动。

相关文章:

  • DeepSeek如何辅助学术写作的性质研究?
  • 什么是回调函数
  • Linux版本控制器Git【Ubuntu系统】
  • RPA 与 AI 结合:开启智能自动化新时代
  • Wireshark Lua 插件教程
  • window基于wsl部署vllm流程及踩坑经历(包含cuda toolkit、nvcc版本问题)
  • 【leetcode hot 100 15】三数之和
  • StableDiffusion本地部署 2
  • TCP的三次握手与四次挥手:建立与终止连接的关键步骤
  • pta天梯L1-003 个位数统计
  • 点云配准技术的演进与前沿探索:从传统算法到深度学习融合(3)
  • Linux上用C++和GCC开发程序实现不同MySQL实例下单个Schema之间的稳定高效的数据迁移
  • Android应用app实现AI电话机器人接打电话
  • 【杂谈】-2025年2月五大大型语言模型(LLMs)
  • 有没有比黑暗森林更黑暗的理论
  • YOLO 检测到人通俗易懂的原理
  • AnythingLLM+LM Studio本地知识库构建
  • kotlin的函数标准库使用
  • python-leetcode-不同路径
  • 基于 Flink CDC YAML 的 MySQL 到 Kafka 流式数据集成
  • 中哥两国元首共同见证签署《中华人民共和国政府与哥伦比亚共和国政府关于共同推进丝绸之路经济带和21世纪海上丝绸之路建设的合作规划》
  • 视频|王弘治:王太后,“先天宫斗圣体”?
  • 尊严的代价:新加坡福利体系下的价值困境
  • 高适配算力、行业大模型与智能体平台重塑工业城市
  • 明查|印度空军“又有一架战机被巴基斯坦击落,飞行员被俘”?
  • 训练孩子的科学思维,上海虹口推出“六个一百”旗舰工程