File size: 2,319 Bytes
5c5e3cb
 
205d3ba
4dde7d9
 
18dd498
0a0e57e
 
bda7b65
 
 
 
 
 
6949a68
cae6726
 
 
 
 
 
 
 
bda7b65
 
 
 
116c46b
 
 
98bcc4f
712c20e
98bcc4f
116c46b
98bcc4f
116c46b
feb2a2f
106d0cd
116c46b
4a4b324
c8e0d2e
4a4b324
 
a285ee6
116c46b
 
 
 
 
 
bda7b65
7081f25
f8b4d06
5c5e3cb
 
 
 
116c46b
205d3ba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Use an official PyTorch image with CUDA support as the base image
FROM pytorch/pytorch:1.12.1-cuda11.3-cudnn8-runtime

# Install Git and OpenGL libraries, and libglib2.0
RUN apt-get update && apt-get install -y git libgl1-mesa-glx libglib2.0-0

RUN apt-get update && apt-get install -y ninja-build

# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user

# Switch to the "user" user
USER user

ENV HOME=/home/user \
	PATH=/home/user/.local/bin:$PATH \
    PYTHONPATH=$HOME/app \
	PYTHONUNBUFFERED=1 \
	GRADIO_ALLOW_FLAGGING=never \
	GRADIO_NUM_PORTS=1 \
	GRADIO_SERVER_NAME=0.0.0.0 \
	GRADIO_THEME=huggingface \
	SYSTEM=spaces

# Set the working directory to the user's home directory
WORKDIR $HOME/app

# Clone your repository or add your code to the container
RUN git clone -b dev https://github.com/camenduru/DiffBIR $HOME/app

# Install specific versions of PyTorch, TorchText, and PyTorch Lightning
RUN pip install torch==1.12.1 torchvision==0.13.1 pytorch-lightning

# Install Python dependencies
RUN pip install -q xformers==0.0.16 einops open-clip-torch omegaconf torchmetrics==0.6.0 triton opencv-python-headless scipy matplotlib lpips gradio chardet transformers facexlib

# Install open_clip from GitHub
RUN pip install -q git+https://github.com/mlfoundations/[email protected]

USER root
# Update package lists and install aria2 without sudo
RUN apt-get update && apt-get install -y aria2
USER user

# Download checkpoint files using aria2
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lxq007/DiffBIR/resolve/main/general_full_v1.ckpt -d $HOME/app/models -o general_full_v1.ckpt
RUN aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lxq007/DiffBIR/resolve/main/general_swinir_v1.ckpt -d $HOME/app/models -o general_swinir_v1.ckpt

# Expose any necessary ports (if your application requires it)
# EXPOSE 80

RUN find $HOME/app

# Set the environment variable to specify the GPU device
ENV CUDA_DEVICE_ORDER=PCI_BUS_ID
ENV CUDA_VISIBLE_DEVICES=0

# Define the command to run your application
CMD ["python", "gradio_diffbir.py", "--ckpt", "/home/user/app/models/general_full_v1.ckpt", "--config", "/home/user/app/configs/model/cldm.yaml", "--reload_swinir", "--swinir_ckpt", "/home/user/app/models/general_swinir_v1.ckpt"]