Просмотр исходного кода

Update versions (#120)

- auto:
https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/2995107fa24cfd72b0a991e18271dcde148c2807
  - More samplers
  - Textual inversion training
- hlky:
https://github.com/sd-webui/stable-diffusion-webui/commit/1a9c053cb7b6832695771db2555c0adc9b41e95f
  - Build times are SLOW
- lstein:
https://github.com/lstein/stable-diffusion/commit/4f247a3672474bd9c46060bab6087dbf9e2531f3
  - Prepare for 2.0 release
  - very cool new UI!
AbdBarho 4 лет назад
Родитель
Сommit
710280c7ab

+ 0 - 2
.gitignore

@@ -1,4 +1,2 @@
-/dev
 /.devcontainer
-embeddings/*
 /docker-compose.override.yml

+ 2 - 3
services/AUTOMATIC1111/Dockerfile

@@ -17,7 +17,7 @@ git reset --hard 24268930bf1dce879235a7fddd0b2355b84d7ea6
 rm -rf repositories/taming-transformers/data repositories/taming-transformers/assets
 EOF
 
-RUN git clone https://github.com/crowsonkb/k-diffusion.git repositories/k-diffusion && cd repositories/k-diffusion && git reset --hard 9e3002b7cd64df7870e08527b7664eb2f2f5f3f5
+RUN git clone https://github.com/crowsonkb/k-diffusion.git repositories/k-diffusion && cd repositories/k-diffusion && git reset --hard f4e99857772fc3a126ba886aadf795a332774878
 
 
 FROM continuumio/miniconda3:4.12.0
@@ -49,7 +49,7 @@ RUN pip install --prefer-binary --no-cache-dir -r ${ROOT}/repositories/CodeForme
 # Note: don't update the sha of previous versions because the install will take forever
 # instead, update the repo state in a later step
 
-ARG SHA=1eb588cbf19924333b88beaa1ac0041904966640
+ARG SHA=2995107fa24cfd72b0a991e18271dcde148c2807
 RUN <<EOF
 cd stable-diffusion-webui
 git pull --rebase
@@ -75,4 +75,3 @@ EXPOSE 7860
 # run, -u to not buffer stdout / stderr
 CMD /docker/mount.sh && \
   python3 -u ../../webui.py --listen --port 7860 --hide-ui-dir-config --ckpt-dir ${ROOT}/models/Stable-diffusion ${CLI_ARGS}
-#  --gfpgan-models-path /data/GFPGAN --codeformer-models-path /data/Codeformer --esrgan-models-path /data/ESRGAN --bsrgan-models-path /data/BSRGAN --realesrgan-models-path /data/RealESRGAN --swinir-models-path /data/SwinIR --ldsr-models-path /data/LDSR

+ 3 - 3
services/hlky/Dockerfile

@@ -16,7 +16,7 @@ RUN <<EOF
 git config --global http.postBuffer 1048576000
 git clone https://github.com/sd-webui/stable-diffusion-webui.git stable-diffusion
 cd stable-diffusion
-git reset --hard 7623a5734740025d79b710f3744bff9276e1467b
+git reset --hard 1a9c053cb7b6832695771db2555c0adc9b41e95f
 conda env update --file environment.yaml -n base
 conda clean -a -y
 EOF
@@ -24,8 +24,8 @@ EOF
 
 # Note: don't update the sha of previous versions because the install will take forever
 # instead, update the repo state in a later step
-# ARG BRANCH=master  SHA=d0bb60a139d60e6c2b9be4e18e0e29a86aa5af59
-ARG BRANCH=dev SHA=1e7bdfe3f38a6dd37fc230f440ea1b0db0937240
+ARG BRANCH=master  SHA=1a9c053cb7b6832695771db2555c0adc9b41e95f
+# ARG BRANCH=dev SHA=1e7bdfe3f38a6dd37fc230f440ea1b0db0937240
 RUN <<EOF
 cd stable-diffusion
 git fetch

+ 8 - 5
services/hlky/mount.sh

@@ -9,11 +9,14 @@ ROOT=/stable-diffusion/src
 # cache
 MOUNTS["/root/.cache"]=/data/.cache
 # ui specific
-MOUNTS["${ROOT}/gfpgan/experiments/pretrained_models/GFPGANv1.3.pth"]=/data/GFPGAN/GFPGANv1.4.pth
-MOUNTS["${ROOT}/realesrgan/experiments/pretrained_models"]=/data/RealESRGAN
-MOUNTS["${ROOT}/latent-diffusion/experiments/pretrained_models"]=/data/LDSR
-# hacks
-MOUNTS["/stable-diffusion/gfpgan/weights"]=/data/.cache
+MOUNTS["${PWD}/models/realesrgan"]=/data/RealESRGAN
+MOUNTS["${PWD}/models/ldsr"]=/data/LDSR
+MOUNTS["${PWD}/models/custom"]=/data/StableDiffusion
+
+# hack
+MOUNTS["${PWD}/models/gfpgan/GFPGANv1.3.pth"]=/data/GFPGAN/GFPGANv1.4.pth
+MOUNTS["${PWD}/models/gfpgan/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
+
 
 for to_path in "${!MOUNTS[@]}"; do
   set -Eeuo pipefail

+ 10 - 12
services/lstein/Dockerfile

@@ -12,21 +12,20 @@ RUN conda install pytorch==1.11.0 torchvision==0.12.0 cudatoolkit=11.3 -c pytorc
 
 RUN apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clean
 
+ENV PIP_EXISTS_ACTION=w
 
 RUN <<EOF
 git clone https://github.com/invoke-ai/InvokeAI.git stable-diffusion
 cd stable-diffusion
-git reset --hard a1739a73b48bfe98b6abcb67f5a0197a9ad270e0
+git reset --hard 8a8be92eac17e0ef699528157596b2336bdee532
 sed -i -- 's/python=3.8.5/python=3.9/g' environment.yaml
+git config --global http.postBuffer 1048576000
 conda env update --file environment.yaml -n base
 conda clean -a -y
 EOF
 
 
-ARG BRANCH=development SHA=8c9f2ae705cf723d4a8a73c416e8d8bf2d746977
-# this breaks on generation:
-# there is a new UI anyway, but it is not by any means ready.
-# ARG BRANCH=development SHA=bdbc76fcd4bd3362312dc91b087d9af66de423b1
+ARG BRANCH=development SHA=4f247a3672474bd9c46060bab6087dbf9e2531f3
 RUN <<EOF
 cd stable-diffusion
 git fetch
@@ -41,19 +40,18 @@ RUN pip uninstall opencv-python -y && pip install --prefer-binary --force-reinst
 
 COPY . /docker/
 RUN <<EOF
-python3 /docker/info.py /stable-diffusion/static/dream_web/index.html
+python3 /docker/info.py /stable-diffusion/frontend/dist/index.html
 chmod +x /docker/mount.sh
-sed -i -- 's/outputs\//\/output/g' /stable-diffusion/backend/server.py
 EOF
 
 
-ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch PRELOAD=false CLI_ARGS=""
+ENV PRELOAD=false CLI_ARGS=""
 WORKDIR /stable-diffusion
 EXPOSE 7860
 
 CMD /docker/mount.sh && \
   # python3 -u backend/server.py --host 0.0.0.0 --port 7860 --cors http://localhost:7860
-  # python3 -u scripts/dream.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
-  echo The lstein webUI is currently deactivated due to implementation limitations: \
-  https://github.com/invoke-ai/InvokeAI/blob/8c9f2ae705cf723d4a8a73c416e8d8bf2d746977/backend/modules/create_cmd_parser.py#L26 \
-  Once the path the output is fixed, the UI will be activated again
+  python3 -u scripts/dream.py --outdir /output --web --host 0.0.0.0 --port 7860 ${CLI_ARGS}
+# echo The lstein webUI is currently deactivated due to implementation limitations: \
+# https://github.com/invoke-ai/InvokeAI/blob/8c9f2ae705cf723d4a8a73c416e8d8bf2d746977/backend/modules/create_cmd_parser.py#L26 \
+# Once the path the output is fixed, the UI will be activated again

+ 5 - 2
services/lstein/info.py

@@ -4,7 +4,10 @@ from pathlib import Path
 file = Path(sys.argv[1])
 file.write_text(
   file.read_text()\
-  .replace('GitHub site</a>', """
-  GitHub site</a>, Deployed with <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker/">stable-diffusion-webui-docker</a>
+  .replace('  <div id="root"></div>', """
+    <div id="root"></div>
+    <div>
+      Deployed with <a href="https://github.com/AbdBarho/stable-diffusion-webui-docker/">stable-diffusion-webui-docker</a>
+    </div>
 """, 1)
 )

+ 22 - 23
services/lstein/mount.sh

@@ -1,28 +1,27 @@
 #!/bin/bash
 
-set -eu
-
-ROOT=/stable-diffusion
-
-mkdir -p "${ROOT}/models/ldm/stable-diffusion-v1/"
-ln -sf /cache/models/model.ckpt "${ROOT}/models/ldm/stable-diffusion-v1/model.ckpt"
-
-base="${ROOT}/src/gfpgan/experiments/pretrained_models/"
-mkdir -p "${base}"
-# TODO: "real" GFPGANv1.4.pth
-ln -sf /cache/models/GFPGANv1.3.pth "${base}/GFPGANv1.4.pth"
-echo "Mounted GFPGANv1.3.pth"
-
-# facexlib
-FACEX_WEIGHTS=/opt/conda/lib/python3.9/site-packages/facexlib/weights
-
-rm -rf "${FACEX_WEIGHTS}"
-mkdir -p /cache/weights
-ln -sf -T /cache/weights "${FACEX_WEIGHTS}"
-
-REALESRGAN_WEIGHTS=/opt/conda/lib/python3.9/site-packages/realesrgan/weights
-rm -rf "${REALESRGAN_WEIGHTS}"
-ln -sf -T /cache/weights "${REALESRGAN_WEIGHTS}"
+set -Eeuo pipefail
+
+declare -A MOUNTS
+
+# cache
+MOUNTS["/root/.cache"]=/data/.cache
+# ui specific
+MOUNTS["${PWD}/models/ldm/stable-diffusion-v1/model.ckpt"]=/data/StableDiffusion/model.ckpt
+MOUNTS["${PWD}/src/gfpgan/experiments/pretrained_models/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
+MOUNTS["${PWD}/ldm/dream/restoration/codeformer/weights"]=/data/CodeFormer
+# hacks
+MOUNTS["/opt/conda/lib/python3.9/site-packages/facexlib/weights"]=/data/.cache
+MOUNTS["/opt/conda/lib/python3.9/site-packages/realesrgan/weights"]=/data/RealESRGAN
+
+for to_path in "${!MOUNTS[@]}"; do
+  set -Eeuo pipefail
+  from_path="${MOUNTS[${to_path}]}"
+  rm -rf "${to_path}"
+  mkdir -p "$(dirname "${to_path}")"
+  ln -sT "${from_path}" "${to_path}"
+  echo Mounted $(basename "${from_path}")
+done
 
 if "${PRELOAD}" == "true"; then
   python3 -u scripts/preload_models.py