stable diffusion-部署

发布时间 2023-03-31 11:24:07作者: badwood

  sd很好很强大,关键还开源,可本地化部署。网上的部署手册满天飞,这里只简单记录。

  • python:作为新手对python版本和虚拟环境有一些困惑,经历了一些填坑过程。为了之后的兼容,装了python3.10.10。另外,sd的虚拟环境可以用source %sd%/venv/bin/activate激活,来查看、修改sd的python组件。用deactivate命令退出
  • 安装:直接git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git,然后到目录里面运行./webui.sh,sd会自己安装需要的组件。有些组件会需要较长时间。
  • 组件:sd运行必须的组件它自己会去安装,安装慢的的解决方法大概有以下几种:
    • github加速:如gfpgan等。修改launch.py,找到gfpgan_package=os.environ.get('GFPGAN_PACKAGE',"git+https://github.com/TencentARC/GFPGAN.git@...")改成:gfpgan_package=os.environ.get('GFPGAN_PACKAGE',"git+https://ghproxy.com/https://github.com/TencentARC/GFPGAN.git@...")
    • pip加速:使用国内镜像
    • 安装网络扩展:想要从网络安装扩展就只能以本地方式启动,但远程服务器上这个问题无解。可以直接在extensions目录下git clone https://github.com/...,然后再正常启动
    • extra中需要的模型:本地没有时sd会启动从网络下载并在命令行打出从哪下载到哪,这时可以用迅雷等工具去下,然后手工放到目标目录。
  • 启动:sd的启动命令参数很多,可以把参数放到webui-user.sh文件的export COMMANDLINE_ARGS=""中,也可以在执行时指定。我用到的如下:
    • --listen:将侦听0.0.0.0地址,从网络可以访问
    • --port 7861:修改默认端口为7861
    • --xformers:这个功能还没用到,加了这个参数会自动安装xformers模块
    • --device-id 1:使用第2张显卡。默认为0,也就是第一张显卡