File size: 2,465 Bytes
e8a8a6b
d04931b
 
 
 
e6dfb7b
 
 
e8a8a6b
 
 
 
 
f15a23b
e8a8a6b
4046e3a
067b635
 
 
 
 
 
 
 
 
 
d04931b
e8a8a6b
 
 
61532d9
d04931b
e6dfb7b
e8a8a6b
d04931b
 
 
e8a8a6b
 
 
 
 
 
61532d9
e8a8a6b
 
 
 
 
 
 
d04931b
e8a8a6b
d3123b7
 
d04931b
 
 
e6dfb7b
7bcd9c9
d04931b
 
 
 
 
 
 
 
 
 
 
 
 
e8a8a6b
d04931b
 
 
 
264d958
e8a8a6b
 
d04931b
e6dfb7b
 
 
 
 
 
d04931b
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
FROM nvidia/cuda:11.3.1-cudnn8-devel-ubuntu20.04

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    curl \
    git \
    wget \
    freeglut3-dev \
    unzip \
    ffmpeg \
    libsm6 \
    libxext6 \
    libgomp1 \
    libfontconfig1 \
    libgl1-mesa-glx \
    libc6 \
    libxdamage1 \
    libxfixes3 \
    libxcb-glx0 \
    libxcb-dri2-0 \
    libxcb-dri3-0 \
    libxcb-present0 \
    libxcb-sync1 \
    libxshmfence1 \
    libxxf86vm1 \
    libxrender1 \
    libgbm1 \
    build-essential \
    libeigen3-dev \
    python3.8 \
    python3-pip \
    python-is-python3 \
    nvidia-cuda-toolkit \
    && rm -rf /var/lib/apt/lists/*


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

# Switch to the "user" user
USER user

FROM python:3.8

ENV PYTHONUNBUFFERED=1

ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0 7.5 8.0 8.6"
ENV TCNN_CUDA_ARCHITECTURES=86;80;75;70;61;60
ENV FORCE_CUDA=1

ENV CUDA_HOME=/usr/local/cuda
ENV PATH=${CUDA_HOME}/bin:/home/${USER_NAME}/.local/bin:/usr/bin:${PATH}
ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:/usr/local/lib/python3.8/site-packages/open3d:/usr/lib:/usr/lib64:${LD_LIBRARY_PATH}
ENV LIBRARY_PATH=${CUDA_HOME}/lib64/stubs:/usr/local/lib/python3.8/site-packages/open3d:/usr/lib:/usr/lib64:${LIBRARY_PATH}

# Set home to the user's home directory
ENV HOME=/home/user \
    PATH=/home/user/.local/bin:$PATH \
    PYTHONPATH=$HOME/app:$PYTHONPATH \
	PYTHONUNBUFFERED=1 \
	GRADIO_ALLOW_FLAGGING=never \
	GRADIO_NUM_PORTS=1 \
	GRADIO_SERVER_NAME=0.0.0.0 \
	GRADIO_THEME=huggingface \
	SYSTEM=spaces

RUN pip install --upgrade pip ninja
RUN pip install setuptools==69.5.1
RUN pip install torch==1.11.0+cu113 torchvision==0.12.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

RUN python -c "import torch; print(torch.version.cuda)"
COPY requirements.txt /tmp
RUN cd /tmp && pip install -r requirements.txt

RUN pip install https://download.is.tue.mpg.de/icon/HF/kaolin-0.11.0-cp38-cp38-linux_x86_64.whl
RUN pip install https://download.is.tue.mpg.de/icon/HF/pytorch3d-0.7.0-cp38-cp38-linux_x86_64.whl

RUN chmod 777 $HOME
ENV TRANSFORMERS_CACHE=/tmp
ENV MPLCONFIGDIR=/tmp

# Copy the current directory contents into the container at $HOME/app setting the owner to the user
COPY --chown=user . $HOME/app

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

CMD ["python", "app.py"]