5 Commits

Author SHA1 Message Date
Abdullah Barhoum
44903ca3aa Update Readme 2022-08-31 07:07:05 +02:00
Abdullah Barhoum
af409daa0e Update Core to fa977b3d6 2022-08-31 07:05:27 +02:00
Abdullah Barhoum
19f9402076 Update Core to fe76828926653f979263b4c9d0bf7acc75f4aad2 2022-08-30 21:40:02 +02:00
Abdullah Barhoum
eef83a318c Move GFPGAN to GPU 2022-08-30 18:56:46 +02:00
Abdullah Barhoum
bc8ec0fe55 Update README 2022-08-30 06:17:38 +02:00
3 changed files with 51 additions and 32 deletions

22
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,22 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "WebUI",
"type": "python",
"request": "launch",
"program": "${file}",
"cwd": "/stable-diffusion",
"args": ["--ckpt", "${workspaceFolder}/models/model.ckpt", "--gfpgan-dir", "${workspaceFolder}/models/", "--extra-models-cpu"],
"env": {
"TRANSFORMERS_CACHE":"${workspaceFolder}/cache/transformers",
"TORCH_HOME":"${workspaceFolder}/cache/torch"
},
"console": "integratedTerminal",
"justMyCode": false
}
]
}

View File

@@ -14,23 +14,18 @@ docker compose build
you can let it build in the background while you download the different models you can let it build in the background while you download the different models
- [Stable Diffusion v1.4 (4GB)](https://drive.yerf.org/wl/?id=EBfTrmcCCUAGaQBXVIj5lJmEhjoP1tgl), rename to `model.ckpt` - [Stable Diffusion v1.4 (4GB)](https://www.googleapis.com/storage/v1/b/aai-blog-files/o/sd-v1-4.ckpt?alt=media), rename to `model.ckpt`
- (Optional) [GFPGANv1.3.pth (333MB)](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth) to improve generated faces. - (Optional) [GFPGANv1.3.pth (333MB)](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth) to improve generated faces.
- (Optional) [RealESRGAN_x4plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth (18MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth) for super-sampling. - (Optional) [RealESRGAN_x4plus.pth (64MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth (18MB)](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth) for super-sampling.
Put all of the downloaded models in the `models` folder, the folder structure should look something like this: Put all of the downloaded files in the `models` folder, it should look something like this:
``` ```
├── README.md models/
├── docker-compose.yml ├── GFPGANv1.3.pth
├── build ├── RealESRGAN_x4plus.pth
├── cache ├── RealESRGAN_x4plus_anime_6B.pth
── models ── model.ckpt
│   ├── GFPGANv1.3.pth
│   ├── RealESRGAN_x4plus.pth
│   ├── RealESRGAN_x4plus_anime_6B.pth
│   └── model.ckpt
├── output
``` ```
## Run ## Run
@@ -47,7 +42,10 @@ Note: the first start will take sometime as some other models will be downloaded
## Config ## Config
in the `docker-compose.yml` you can change the `CLI_ARGS` variable contains all of the variables that will be passed to [the web ui](https://github.com/hlky/stable-diffusion-webui/blob/49e6178fd82ca736f9bbc621c6b12487c300e493/webui.py), by default: `--extra-models-cpu --optimized-turbo` are given, which allow you to use this model on a 6GB GPU. in the `docker-compose.yml` you can change the `CLI_ARGS` variable contains all of the variables that will be passed to [the web ui](https://github.com/hlky/stable-diffusion/blob/fa977b3d6f9d0b264035c949fd70415476f00036/scripts/webui.py).
By default: `--gfpgan-gpu 0 --esrgan-cpu --optimized-turbo` are given, which allow you to use this model on a 6GB GPU.
NOTE: GFPGAN does not work on the CPU [More info here](https://github.com/AbdBarho/stable-diffusion-webui-docker/issues/4)
# Disclaimer # Disclaimer

View File

@@ -13,27 +13,26 @@ RUN apt-get update && apt install fonts-dejavu-core && apt-get clean
# 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
RUN cd stable-diffusion && git pull && git reset --hard c0c2a7c0d55561cfb6f42a3681346b9b70749ff1 && \ RUN cd stable-diffusion && git pull && git reset --hard fa977b3d6f9d0b264035c949fd70415476f00036 && \
conda env update --file environment.yaml --name base && conda clean -a -y conda env update --file environment.yaml --name base && conda clean -a -y
# download dev UI version, update the sha below in case you want some other version # download dev UI version, update the sha below in case you want some other version
RUN <<EOF # RUN <<EOF
git clone https://github.com/hlky/stable-diffusion-webui.git # git clone https://github.com/hlky/stable-diffusion-webui.git
cd stable-diffusion-webui # cd stable-diffusion-webui
# map to this file: https://github.com/hlky/stable-diffusion-webui/blob/master/.github/sync.yml # # map to this file: https://github.com/hlky/stable-diffusion-webui/blob/master/.github/sync.yml
git reset --hard 49e6178fd82ca736f9bbc621c6b12487c300e493 # git reset --hard 49e6178fd82ca736f9bbc621c6b12487c300e493
cp -t /stable-diffusion/scripts/ webui.py relauncher.py txt2img.yaml # cp -t /stable-diffusion/scripts/ webui.py relauncher.py txt2img.yaml
cp -t /stable-diffusion/configs/webui webui.yaml # cp -t /stable-diffusion/configs/webui webui.yaml
cp -t /stable-diffusion/frontend/ frontend/* # cp -t /stable-diffusion/frontend/ frontend/*
cd / && rm -rf stable-diffusion-webui # cd / && rm -rf stable-diffusion-webui
EOF # EOF
# For testing different versions:
# RUN git clone https://github.com/AbdBarho/stable-diffusion-webui.git && cd stable-diffusion-webui && \
# git checkout respect-cli-params &&\
# cp -t /stable-diffusion/scripts/ txt2img.yaml webui.py webui.yaml webui_playground.py && \
# cd / && rm -rf stable-diffusion-webui
# Textual-inversion:
# RUN <<EOF
# git clone https://github.com/hlky/sd-enable-textual-inversion.git
# cp -rf sd-enable-textual-inversion /stable-diffusion
# EOF
# add info # add info
COPY info.py /info.py COPY info.py /info.py
@@ -52,7 +51,7 @@ CMD \
test -f "/models/${name}" && mkdir -p "${base}" && ln -sf "/models/${name}" "${path}" && echo "Mounted ${name}";\ test -f "/models/${name}" && mkdir -p "${base}" && ln -sf "/models/${name}" "${path}" && echo "Mounted ${name}";\
done;\ done;\
# force facexlib cache # force facexlib cache
mkdir -p /cache/weights/ && rm -rf /opt/conda/lib/python3.8/site-packages/facexlib/weights && \ mkdir -p /cache/weights/ && rm -rf /stable-diffusion/src/facexlib/facexlib/weights && \
ln -sf /cache/weights/ /opt/conda/lib/python3.8/site-packages/facexlib/ && \ ln -sf /cache/weights/ /stable-diffusion/src/facexlib/facexlib/ && \
# run, -u to not buffer stdout / stderr # run, -u to not buffer stdout / stderr
python3 -u scripts/webui.py --outdir /output --ckpt /models/model.ckpt --save-metadata ${CLI_ARGS} python3 -u scripts/webui.py --outdir /output --ckpt /models/model.ckpt --save-metadata ${CLI_ARGS}