Update versions (#120)

- auto:
2995107fa2
  - More samplers
  - Textual inversion training
- hlky:
1a9c053cb7
  - Build times are SLOW
- lstein:
4f247a3672
  - Prepare for 2.0 release
  - very cool new UI!
This commit is contained in:
AbdBarho 2022-10-07 09:46:07 +02:00 committed by GitHub
parent e1e03229fd
commit 710280c7ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 47 additions and 47 deletions

2
.gitignore vendored
View File

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

View File

@ -17,7 +17,7 @@ git reset --hard 24268930bf1dce879235a7fddd0b2355b84d7ea6
rm -rf repositories/taming-transformers/data repositories/taming-transformers/assets rm -rf repositories/taming-transformers/data repositories/taming-transformers/assets
EOF 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 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 # Note: don't update the sha of previous versions because the install will take forever
# instead, update the repo state in a later step # instead, update the repo state in a later step
ARG SHA=1eb588cbf19924333b88beaa1ac0041904966640 ARG SHA=2995107fa24cfd72b0a991e18271dcde148c2807
RUN <<EOF RUN <<EOF
cd stable-diffusion-webui cd stable-diffusion-webui
git pull --rebase git pull --rebase
@ -75,4 +75,3 @@ EXPOSE 7860
# run, -u to not buffer stdout / stderr # run, -u to not buffer stdout / stderr
CMD /docker/mount.sh && \ CMD /docker/mount.sh && \
python3 -u ../../webui.py --listen --port 7860 --hide-ui-dir-config --ckpt-dir ${ROOT}/models/Stable-diffusion ${CLI_ARGS} 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

View File

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

View File

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

View File

@ -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 RUN apt-get update && apt install fonts-dejavu-core rsync gcc -y && apt-get clean
ENV PIP_EXISTS_ACTION=w
RUN <<EOF RUN <<EOF
git clone https://github.com/invoke-ai/InvokeAI.git stable-diffusion git clone https://github.com/invoke-ai/InvokeAI.git stable-diffusion
cd 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 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 env update --file environment.yaml -n base
conda clean -a -y conda clean -a -y
EOF EOF
ARG BRANCH=development SHA=8c9f2ae705cf723d4a8a73c416e8d8bf2d746977 ARG BRANCH=development SHA=4f247a3672474bd9c46060bab6087dbf9e2531f3
# this breaks on generation:
# there is a new UI anyway, but it is not by any means ready.
# ARG BRANCH=development SHA=bdbc76fcd4bd3362312dc91b087d9af66de423b1
RUN <<EOF RUN <<EOF
cd stable-diffusion cd stable-diffusion
git fetch git fetch
@ -41,19 +40,18 @@ RUN pip uninstall opencv-python -y && pip install --prefer-binary --force-reinst
COPY . /docker/ COPY . /docker/
RUN <<EOF 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 chmod +x /docker/mount.sh
sed -i -- 's/outputs\//\/output/g' /stable-diffusion/backend/server.py
EOF EOF
ENV TRANSFORMERS_CACHE=/cache/transformers TORCH_HOME=/cache/torch PRELOAD=false CLI_ARGS="" ENV PRELOAD=false CLI_ARGS=""
WORKDIR /stable-diffusion WORKDIR /stable-diffusion
EXPOSE 7860 EXPOSE 7860
CMD /docker/mount.sh && \ CMD /docker/mount.sh && \
# python3 -u backend/server.py --host 0.0.0.0 --port 7860 --cors http://localhost:7860 # 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} 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: \ # 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 \ # 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 # Once the path the output is fixed, the UI will be activated again

View File

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

View File

@ -1,28 +1,27 @@
#!/bin/bash #!/bin/bash
set -eu set -Eeuo pipefail
ROOT=/stable-diffusion declare -A MOUNTS
mkdir -p "${ROOT}/models/ldm/stable-diffusion-v1/" # cache
ln -sf /cache/models/model.ckpt "${ROOT}/models/ldm/stable-diffusion-v1/model.ckpt" 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
base="${ROOT}/src/gfpgan/experiments/pretrained_models/" for to_path in "${!MOUNTS[@]}"; do
mkdir -p "${base}" set -Eeuo pipefail
# TODO: "real" GFPGANv1.4.pth from_path="${MOUNTS[${to_path}]}"
ln -sf /cache/models/GFPGANv1.3.pth "${base}/GFPGANv1.4.pth" rm -rf "${to_path}"
echo "Mounted GFPGANv1.3.pth" mkdir -p "$(dirname "${to_path}")"
ln -sT "${from_path}" "${to_path}"
# facexlib echo Mounted $(basename "${from_path}")
FACEX_WEIGHTS=/opt/conda/lib/python3.9/site-packages/facexlib/weights done
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}"
if "${PRELOAD}" == "true"; then if "${PRELOAD}" == "true"; then
python3 -u scripts/preload_models.py python3 -u scripts/preload_models.py