StableDiffusion本地部署 3 整合包猜想

news2025/3/4 8:11:14

本地部署和整合包制作猜测

文章目录

  • 本地部署和整合包制作猜测
    • 官方部署
      • 第一种
      • 第二种
    • StabilityMatrix下载
    • 整合包制作流程猜测

写了这么多python打包和本地部署的文章,目的是向做一个小整合包出来,不要求有图形界面,只是希望一键就能运行。

但是最终还是遗憾告终,我没有成功。现在进行总结:

官方部署

本地部署中,官方发布的方式有两种。

第一种

一种是自动安装:

  1. Install Python 3.10.6 (Newer version of Python does not support torch), checking “Add Python to PATH”.
  2. Install git.
  3. Download the stable-diffusion-webui repository, for example by running git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git.
  4. Run webui-user.bat from Windows Explorer as normal, non-administrator, user.

如果你科学上网的工具比较好用,基本不会遇到什么错。上面要求的每一小步,都需要完成,这样保证错误最小。

它会自己配置好python路径,git路径。torch等依赖包的安装。

webui-user.bat中,基本步骤为:

定义python.exe位置,定义ven环境位置,定义git.exe位置。检查python.exe是否可用,检查pip是否可用,检查检查ven环境目录下的Scripts\Python.exe环境是否可用。activate.bat 激活虚拟环境,调用lunch.py启动项目。(猜测,在第一次启动之后,会使用accelerate启动项目,后面会讲)

第二种

下面是另外一种:

  1. Download sd.webui.zip from v1.0.0-pre and extract its contents.
  2. Run update.bat.
  3. Run run.bat.

sd.webui.zip文件长这样。

在这里插入图片描述

environment.txt

@echo off

set DIR=%~dp0

set PATH=%DIR%\git\bin;%DIR%\python;%DIR%\python\Scripts;%PATH%
set PY_LIBS=%DIR%\python\Scripts\Lib;%DIR%\python\Scripts\Lib\site-packages
set PY_PIP=%DIR%\python\Scripts
set SKIP_VENV=1
set PIP_INSTALLER_LOCATION=%DIR%\python\get-pip.py
set TRANSFORMERS_CACHE=%DIR%\transformers-cache

update.txt

@echo off

call environment.bat

git -C "%~dp0webui" pull 2>NUL
if %ERRORLEVEL% == 0 goto :done

git -C "%~dp0webui" reset --hard
git -C "%~dp0webui" pull

:done
pause

run.bat

@echo off

call environment.bat

cd %~dp0webui
call webui-user.bat

启动的过程是先在update.bat中进行git的操作,然后调用webui-user.bat。(配置不仅要配置python,还有git,所以它帮我们处理好了。)

不过要注意,文件中call了环境文件environment.bat。环境文件中已经定义好了所有的环境变量,并引入到另外一个文件中使用。

并且SKIP_VENV=1,这一步的意思是在webui-user.bat中使用accelerate启动项目。(所以我猜测,使用自动安装时,会自动配置环境。之后的每一次启动都是accelerate启动项目)

python文件夹中,包含了环境文件。我的理解是,python依赖包和python环境是两个东西。环境包含pyhton依赖包。所以官方的这个文件夹中是一个环境,不是我们下载的标准pyhton文件。git同理。

StabilityMatrix下载

这是一个AI项目的整合器,我也是学习整合包制作过程中了解到的,和应用商店似的。

整合包制作流程猜测

我感觉秋叶大佬用的是sd.webui.zip的文件开发的,也就是非快启动的方式。

使用官方python装好了文件夹后,放在了项目根目录下,然后粘贴了sd.webui.zip下的python文件作为项目启动环境。在第一次运行后,会下载torch等依赖,并且同时包含一些脚本文件。所以整合包中有所有的依赖包文件和脚本文件。

对于git也是同理,你也可以对照着看,基本没有变化。

启动项目,不仅仅需要依赖包,还需要一大推脚本文件,其中脚本文件更加重要。

在制作整合包时,第一次启动仅仅只有官方python的安装包是不够的,因为还需要脚本文件进行操作。而这些脚本在sd.webui.zip的python文件夹都存在,也就是构成一个虚拟环境。这也是为什么SKIP_VENV=1的原因。

对于git也是同理,你也可以对照着看,基本没有变化。


最后,虽然StableDiffusion的基础内容都已经学习完毕,但是还需要学习一下手部精细的知识。之后就做简历找实习了。对于整合包的制作,由于需要工作的压力,基本止步于此。

如果你想试试,我有一些建议给你

  1. 首先,一定要有一个好一点的科学上网工具,很关键。
  2. 其次,官方给出的两种本地部署方式,你都需要试一试。只有学会本地部署,才能学习SD整合包的制作。
  3. python依赖包和环境是两个不同的概念,注意区别
  4. webui.user.batwebui.bat文件,你需要看一看。
  5. 我列表中的python打包的文章,希望对你有所帮助

祝你成功!成功了请告诉我怎么做的,一定一定请告诉我。

我粘贴出了整合包中的一些参数,希望你能用的上:

name: automatic
channels:
  - pytorch
  - defaults
dependencies:
  - python=3.10
  - pip=23.0
  - cudatoolkit=11.8
  - pytorch=2.0
  - torchvision=0.15
  - numpy=1.23
  
set COMMANDLINE_ARGS== --xformers --api --autolaunch --skip-python-version-check

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

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

相关文章

数据结构(初阶)(七)----树和二叉树(前中后序遍历)

实现链式结构的二叉树 实现链式结构的二叉树遍历前序遍历中序遍历后序遍历 节点个数叶子节点个数⼆叉树第k层结点个数⼆叉树的深度/⾼度查找值为X的节点二叉树的销毁 层序遍历判断二叉树是否为完全二叉树 ⽤链表来表⽰⼀棵⼆叉树,即⽤链来指⽰元素的逻辑关系。 通常…

科技赋能筑未来 中建海龙MiC建筑技术打造保障房建设新标杆

近日,深圳梅林路6号保障房项目顺利封顶,标志着国内装配式建筑领域又一里程碑式突破。中建海龙科技有限公司(以下简称“中建海龙”)以模块化集成建筑(MiC)技术为核心,通过科技创新与工业化建造深…

json介绍、python数据和json数据的相互转换

目录 一 json介绍 json是什么? 用处 Json 和 XML 对比 各语言对Json的支持情况 Json规范详解 二 python数据和json数据的相互转换 dumps() : 转换成json loads(): 转换成python数据 总结 一 json介绍 json是什么? 实质上是一条字符串 是一种…

计算机毕设JAVA——某高校宿舍管理系统(基于SpringBoot+Vue前后端分离的项目)

文章目录 概要项目演示图片系统架构技术运行环境系统功能简介 概要 网络上许多计算机毕设项目开发前端界面设计复杂、不美观,而且功能结构十分单一,存在很多雷同的项目:不同的项目基本上就是套用固定模板,换个颜色、改个文字&…

Spring Boot 测试:单元、集成与契约测试全解析

一、Spring Boot 分层测试策略 Spring Boot 应用采用经典的分层架构,不同层级的功能模块对应不同的测试策略,以确保代码质量和系统稳定性。 Spring Boot 分层架构: Spring Boot分层架构 A[客户端] -->|HTTP 请求| B[Controller 层] …

Oracle 数据库基础入门(四):分组与联表查询的深度探索(上)

在 Oracle 数据库的学习进程中,分组查询与联表查询是进阶阶段的重要知识点,它们如同数据库操作的魔法棒,能够从复杂的数据中挖掘出有价值的信息。对于 Java 全栈开发者而言,掌握这些技能不仅有助于高效地处理数据库数据&#xff0…

机器学习的起点:线性回归Linear Regression

机器学习的起点:线性回归Linear Regression 作为机器学习的起点,线性回归是理解算法逻辑的绝佳入口。我们从定义、评估方法、应用场景到局限性,用生活化的案例和数学直觉为你构建知识框架。 回归算法 一、线性回归的定义与核心原理 定义&a…

17、什么是智能指针,C++有哪几种智能指针【高频】

智能指针其实不是指针,而是一个(模板)类,用来存储指向某块资源的指针,并自动释放这块资源,从而解决内存泄漏问题。主要有以下四种: auto_ptr 它的思想就是当当一个指针对象赋值给另一个指针对…

PyCharm接入本地部署DeepSeek 实现AI编程!【支持windows与linux】

今天尝试在pycharm上接入了本地部署的deepseek,实现了AI编程,体验还是很棒的。下面详细叙述整个安装过程。 本次搭建的框架组合是 DeepSeek-r1:1.5b/7b Pycharm专业版或者社区版 Proxy AI(CodeGPT) 首先了解不同版本的deepsee…

PyCharm怎么集成DeepSeek

PyCharm怎么集成DeepSeek 在PyCharm中集成DeepSeek等大语言模型(LLM)可以借助一些插件或通过代码调用API的方式实现,以下为你详细介绍两种方法: 方法一:使用JetBrains AI插件(若支持DeepSeek) JetBrains推出了AI插件来集成大语言模型,不过截至2024年7月,官方插件主要…

【定昌Linux系统】部署了java程序,设置开启启动

将代码上传到相应的目录,并且配置了一个.sh的启动脚本文件 文件内容: #!/bin/bash# 指定JAR文件的路径(如果JAR文件在当前目录,可以直接使用文件名) JAR_FILE"/usr/local/java/xs_luruan_client/lib/xs_luruan_…

Java零基础入门笔记:(7)异常

前言 本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。 【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili 第1-2章:Java零基础入门笔记:(1-2)入门(简介、基础知识)-CSDN博客 第3章…

【字符串】最长公共前缀 最长回文子串

文章目录 14. 最长公共前缀解题思路:模拟5. 最长回文子串解题思路一:动态规划解题思路二:中心扩散法 14. 最长公共前缀 14. 最长公共前缀 ​ 编写一个函数来查找字符串数组中的最长公共前缀。 ​ 如果不存在公共前缀,返回空字符…

react 中,使用antd layout布局中的sider 做sider的展开和收起功能

一 话不多说,先展示效果: 展开时: 收起时: 二、实现代码如下 react 文件 import React, {useState} from react; import {Layout} from antd; import styles from "./index.module.less"; // 这个是样式文件&#…

easyExcel使用案例有代码

easyExcel 入门,完成web的excel文件创建和导出 easyExcel官网 EasyExcel 的主要特点如下: 1、高性能:EasyExcel 采用了异步导入导出的方式,并且底层使用 NIO 技术实现,使得其在导入导出大数据量时的性能非常高效。 2、易于使…

苹果廉价机型 iPhone 16e 影像系统深度解析

【人像拍摄差异】 尽管iPhone 16e支持后期焦点调整功能,但用户无法像iPhone 16系列那样通过点击屏幕实时切换拍摄主体。前置摄像头同样缺失人像深度控制功能,不过TrueTone原彩闪光灯系统在前后摄均有保留。 很多人都高估了 iPhone 的安全性,查…

视觉图像坐标转换

1. 透镜成像 相机的镜头系统将三维场景中的光线聚焦到一个平面(即传感器)。这个过程可以用小孔成像模型来近似描述,尽管实际相机使用复杂的透镜系统来减少畸变和提高成像质量。 小孔成像模型: 假设有一个理想的小孔,…

脚本无法获取响应主体(原因:CORS Missing Allow Credentials)

背景: 前端的端口号8080,后端8000。需在前端向后端传一个参数,让后端访问数据库去检测此参数是否出现过。涉及跨域请求,一直有这个bug是404文件找不到。 在修改过程当中不小心删除了一段代码,出现了这个bug&#xff0…

leetcode第39题组合总和

原题出于leetcode第39题https://leetcode.cn/problems/combination-sum/description/题目如下: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以…

SQLark 数据迁移|断点续迁已上线(Oracle-达梦)

数据迁移是 SQLark 最受企业和个人用户欢迎的功能之一,截止目前已帮助政府、金融、能源、通信等 50 家单位完成从 Oracle、MySQL 到达梦的全量迁移,自动化迁移成功率达 96% 以上。 在 Oracle 到达梦数据库迁移过程中,SQLark V3.3 新增 断点续…