本地部署和整合包制作猜测
文章目录
- 本地部署和整合包制作猜测
- 官方部署
- 第一种
- 第二种
- StabilityMatrix下载
- 整合包制作流程猜测
写了这么多python打包和本地部署的文章,目的是向做一个小整合包出来,不要求有图形界面,只是希望一键就能运行。
但是最终还是遗憾告终,我没有成功。现在进行总结:
官方部署
本地部署中,官方发布的方式有两种。
第一种
一种是自动安装:
- Install Python 3.10.6 (Newer version of Python does not support torch), checking “Add Python to PATH”.
- Install git.
- Download the stable-diffusion-webui repository, for example by running
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
. - 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
启动项目,后面会讲)
第二种
下面是另外一种:
- Download
sd.webui.zip
from v1.0.0-pre and extract its contents. - Run
update.bat
. - 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的基础内容都已经学习完毕,但是还需要学习一下手部精细的知识。之后就做简历找实习了。对于整合包的制作,由于需要工作的压力,基本止步于此。
如果你想试试,我有一些建议给你:
- 首先,一定要有一个好一点的科学上网工具,很关键。
- 其次,官方给出的两种本地部署方式,你都需要试一试。只有学会本地部署,才能学习SD整合包的制作。
- python依赖包和环境是两个不同的概念,注意区别
webui.user.bat
和webui.bat
文件,你需要看一看。- 我列表中的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