Skip to content

Commit

Permalink
Update invoke (AbdBarho#234)
Browse files Browse the repository at this point in the history
  • Loading branch information
AbdBarho committed Nov 20, 2022
1 parent 9e7979b commit 23757d2
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 25 deletions.
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ services:
<<: *base_service
profiles: ["lstein"]
build: ./services/lstein/
image: sd-lstein:6
image: sd-lstein:7
environment:
- PRELOAD=true
- CLI_ARGS=--max_loaded_models=1
31 changes: 14 additions & 17 deletions services/lstein/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,37 +1,35 @@
# syntax=docker/dockerfile:1

FROM continuumio/miniconda3:4.12.0
FROM python:3.10-slim

SHELL ["/bin/bash", "-ceuxo", "pipefail"]

ENV DEBIAN_FRONTEND=noninteractive PIP_EXISTS_ACTION=w PIP_PREFER_BINARY=1 PIP_NO_CACHE_DIR=1

# now it requires python3.9
RUN conda install python=3.9 && conda clean -a -y
RUN conda install cudatoolkit=11.6 -c conda-forge && conda clean -a -y
RUN conda install pytorch==1.12.1 -c pytorch && conda clean -a -y

RUN apt-get update && apt install fonts-dejavu-core -y && apt-get clean
RUN pip install torch==1.13.0 torchvision --extra-index-url https://download.pytorch.org/whl/cu117

RUN apt-get update && apt-get install git -y && apt-get clean

RUN git clone https://github.com/invoke-ai/InvokeAI.git /stable-diffusion

WORKDIR /stable-diffusion

RUN <<EOF
git clone https://github.com/invoke-ai/InvokeAI.git stable-diffusion
cd stable-diffusion
git reset --hard 6b89adfa7ebd4591ed91a76ecf152e3517cda385
git reset --hard 2b7e3abe57963d199f1d825ddef87ae154c81045
git config --global http.postBuffer 1048576000
conda env update --file environment.yml -n base
conda clean -a -y
ln -sf environments-and-requirements/requirements-lin-cuda.txt requirements.txt
pip install -r requirements.txt
EOF


ARG BRANCH=main SHA=6b89adfa7ebd4591ed91a76ecf152e3517cda385
ARG BRANCH=development SHA=2b7e3abe57963d199f1d825ddef87ae154c81045
RUN <<EOF
cd stable-diffusion
git fetch
git reset --hard
git checkout ${BRANCH}
git reset --hard ${SHA}
conda env update --file environment.yml -n base
conda clean -a -y
pip install -r requirements.txt
EOF

RUN pip uninstall opencv-python -y && pip install --force-reinstall opencv-python-headless==4.5.5.64
Expand All @@ -42,8 +40,7 @@ python3 /docker/info.py /stable-diffusion/frontend/dist/index.html
EOF


ENV PRELOAD=false CLI_ARGS=""
WORKDIR /stable-diffusion
ENV ROOT=/stable-diffusion PRELOAD=false CLI_ARGS=""
EXPOSE 7860


Expand Down
29 changes: 22 additions & 7 deletions services/lstein/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,36 @@ declare -A MOUNTS

# cache
MOUNTS["/root/.cache"]=/data/.cache

# ui specific
MOUNTS["${PWD}/src/gfpgan/experiments/pretrained_models/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
MOUNTS["${PWD}/ldm/invoke/restoration/codeformer/weights"]=/data/Codeformer
MOUNTS["${PWD}/configs/models.yaml"]=/docker/models.yaml
MOUNTS["${ROOT}/models/codeformer"]=/data/Codeformer/

MOUNTS["${ROOT}/models/gfpgan/GFPGANv1.4.pth"]=/data/GFPGAN/GFPGANv1.4.pth
MOUNTS["${ROOT}/models/gfpgan/weights"]=/data/.cache/

MOUNTS["${ROOT}/models/realesrgan"]=/data/RealESRGAN/

MOUNTS["${ROOT}/models/bert-base-uncased"]=/data/.cache/huggingface/transformers
MOUNTS["${ROOT}/models/openai/clip-vit-large-patch14"]=/data/.cache/huggingface/transformers
MOUNTS["${ROOT}/models/CompVis/stable-diffusion-safety-checker"]=/data/.cache/huggingface/transformers

MOUNTS["${ROOT}/configs/models.yaml"]=/docker/models.yaml
# 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
MOUNTS["${PWD}/src/realesrgan/weights"]=/data/RealESRGAN
MOUNTS["${PWD}/gfpgan/weights"]=/data/.cache
MOUNTS["/opt/conda/lib/python3.10/site-packages/facexlib/weights"]=/data/.cache/
MOUNTS["${ROOT}/models/clipseg"]=/data/.cache/invoke/clipseg/

# 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}")"
# ends with slash, make it!
if [[ "$from_path" == */ ]]; then
mkdir -vp "$from_path"
fi

ln -sT "${from_path}" "${to_path}"
echo Mounted $(basename "${from_path}")
done
Expand Down

0 comments on commit 23757d2

Please sign in to comment.