StableDiffusion本地部署 3 整合包猜想

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


写了这么多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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值