From 47cc73313bf6a371bb2a19573ecc2ba9466755d7 Mon Sep 17 00:00:00 2001 From: Andras Fekete Date: Fri, 16 Jun 2023 09:14:14 -0400 Subject: [PATCH 1/4] Add Dockerfile.nvidia --- docker/Dockerfile.nvidia | 20 ++++++++++++++++++++ docker/run.sh | 6 ++++++ 2 files changed, 26 insertions(+) create mode 100644 docker/Dockerfile.nvidia create mode 100755 docker/run.sh diff --git a/docker/Dockerfile.nvidia b/docker/Dockerfile.nvidia new file mode 100644 index 0000000..407d221 --- /dev/null +++ b/docker/Dockerfile.nvidia @@ -0,0 +1,20 @@ +FROM nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu22.04 + +# Always use UTC on a server +RUN ln -snf /usr/share/zoneinfo/UTC /etc/localtime && echo UTC > /etc/timezone + +RUN DEBIAN_FRONTEND=noninteractive apt update && apt install -y python3 python3-pip python3-tk git ffmpeg nvidia-cuda-toolkit nvidia-container-runtime libnvidia-decode-525-server wget unzip +RUN wget https://github.com/deepinsight/insightface/releases/download/v0.7/buffalo_l.zip -O /tmp/buffalo_l.zip && \ + mkdir -p /root/.insightface/models/buffalo_l && \ + cd /root/.insightface/models/buffalo_l && \ + unzip /tmp/buffalo_l.zip && \ + rm -f /tmp/buffalo_l.zip + +RUN pip install nvidia-tensorrt +RUN git clone https://github.com/xaviviro/refacer && cd refacer && pip install -r requirements-GPU.txt + +WORKDIR /refacer + +# Test following commands in container to make sure GPU stuff works +# nvidia-smi +# python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))" diff --git a/docker/run.sh b/docker/run.sh new file mode 100755 index 0000000..d87d166 --- /dev/null +++ b/docker/run.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# Run this script from within the refacer/docker folder. + +docker build -t refacer -f Dockerfile.nvidia . && \ + docker run --rm -p 7860:7860 --gpus all refacer python3 app.py --server_name 0.0.0.0 && \ + sleep 1 && google-chrome --new-window "http://127.0.0.1:7860" & From fabee094d0b98ebeae277ddc06db43046050b19a Mon Sep 17 00:00:00 2001 From: Andras Fekete Date: Fri, 16 Jun 2023 09:17:34 -0400 Subject: [PATCH 2/4] Save outputs on the host --- docker/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/run.sh b/docker/run.sh index d87d166..e18f6cf 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -2,5 +2,5 @@ # Run this script from within the refacer/docker folder. docker build -t refacer -f Dockerfile.nvidia . && \ - docker run --rm -p 7860:7860 --gpus all refacer python3 app.py --server_name 0.0.0.0 && \ + docker run --rm -v $(pwd)/out:/refacer/out -p 7860:7860 --gpus all refacer python3 app.py --server_name 0.0.0.0 && \ sleep 1 && google-chrome --new-window "http://127.0.0.1:7860" & From fdae43c0a1e85ff26a8065a8de6fc93caa61b7c2 Mon Sep 17 00:00:00 2001 From: Andras Fekete Date: Fri, 16 Jun 2023 09:44:12 -0400 Subject: [PATCH 3/4] Add in inswrapper_128.onnx --- docker/Dockerfile.nvidia | 1 + docker/run.sh | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/docker/Dockerfile.nvidia b/docker/Dockerfile.nvidia index 407d221..9b52b28 100644 --- a/docker/Dockerfile.nvidia +++ b/docker/Dockerfile.nvidia @@ -14,6 +14,7 @@ RUN pip install nvidia-tensorrt RUN git clone https://github.com/xaviviro/refacer && cd refacer && pip install -r requirements-GPU.txt WORKDIR /refacer +COPY inswapper_128.onnx /refacer/. # Test following commands in container to make sure GPU stuff works # nvidia-smi diff --git a/docker/run.sh b/docker/run.sh index e18f6cf..a20046a 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -1,5 +1,11 @@ #!/bin/bash # Run this script from within the refacer/docker folder. +# You'll need inswrapper_128.onnx from either: +# https://drive.google.com/file/d/1eu60OrRtn4WhKrzM4mQv4F3rIuyUXqfl/view?usp=drive_link +# or https://drive.google.com/file/d/1jbDUGrADco9A1MutWjO6d_1dwizh9w9P/view?usp=sharing +# or https://mega.nz/file/9l8mGDJA#FnPxHwpdhDovDo6OvbQjhHd2nDAk8_iVEgo3mpHLG6U +# or https://1drv.ms/u/s!AsHA3Xbnj6uAgxhb_tmQ7egHACOR?e=CPoThO +# or https://civitai.com/models/80324?modelVersionId=85159 docker build -t refacer -f Dockerfile.nvidia . && \ docker run --rm -v $(pwd)/out:/refacer/out -p 7860:7860 --gpus all refacer python3 app.py --server_name 0.0.0.0 && \ From 0b64095e4659ef3ac5971ef6b0c1e172206df169 Mon Sep 17 00:00:00 2001 From: Andras Fekete Date: Fri, 16 Jun 2023 09:53:22 -0400 Subject: [PATCH 4/4] Better to use the hosts' version of refacer --- docker/Dockerfile.nvidia | 1 - docker/run.sh | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile.nvidia b/docker/Dockerfile.nvidia index 9b52b28..407d221 100644 --- a/docker/Dockerfile.nvidia +++ b/docker/Dockerfile.nvidia @@ -14,7 +14,6 @@ RUN pip install nvidia-tensorrt RUN git clone https://github.com/xaviviro/refacer && cd refacer && pip install -r requirements-GPU.txt WORKDIR /refacer -COPY inswapper_128.onnx /refacer/. # Test following commands in container to make sure GPU stuff works # nvidia-smi diff --git a/docker/run.sh b/docker/run.sh index a20046a..f4a4f04 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -7,6 +7,7 @@ # or https://1drv.ms/u/s!AsHA3Xbnj6uAgxhb_tmQ7egHACOR?e=CPoThO # or https://civitai.com/models/80324?modelVersionId=85159 +docker stop -t 0 refacer docker build -t refacer -f Dockerfile.nvidia . && \ - docker run --rm -v $(pwd)/out:/refacer/out -p 7860:7860 --gpus all refacer python3 app.py --server_name 0.0.0.0 && \ - sleep 1 && google-chrome --new-window "http://127.0.0.1:7860" & + docker run --rm --name refacer -v $(pwd)/..:/refacer -p 7860:7860 --gpus all refacer python3 app.py --server_name 0.0.0.0 & +sleep 2 && google-chrome --new-window "http://127.0.0.1:7860" &