File size: 2,805 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
 
 
da70231
47770f6
d04931b
e8a8a6b
 
d04931b
b38566f
 
 
 
 
 
 
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
91
92
93
94
95
96
97
98
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 pip install pyembree
RUN pip install git+https://github.com/YuliangXiu/neural_voxelization_layer.git

ENV TRANSFORMERS_CACHE=/tmp
ENV MPLCONFIGDIR=/tmp

# cannot cache function '_make_tree': no locator available for file '/usr/local/lib/python3.8/site-packages/pymatting/util/kdtree.py'
ENV NUMBA_CACHE_DIR=/tmp/numba_cache
ENV HF_HOME=$HOME/.cache/huggingface
RUN mkdir -p $HF_HOME

RUN chmod 777 -R $HOME

# 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"]