-
Notifications
You must be signed in to change notification settings - Fork 107
/
Dockerfile.gpu
71 lines (52 loc) · 2.19 KB
/
Dockerfile.gpu
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
FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
ARG APP=image_classification
ENV PYTHONUNBUFFERED TRUE
# Disable thread pinning in TVM and Treelite
ENV TVM_BIND_THREADS 0
ENV TREELITE_BIND_THREADS 0
ENV USE_GPU 1
RUN mkdir -p /packages
COPY TensorRT-5.0.2.6.Ubuntu-18.04.1.x86_64-gnu.cuda-10.0.cudnn7.3.tar.gz /packages/TensorRT-5.0.2.6.Ubuntu-18.04.1.x86_64-gnu.cuda-10.0.cudnn7.3.tar.gz
RUN cd /packages \
&& tar xzvf TensorRT-5.0.2.6.Ubuntu-18.04.1.x86_64-gnu.cuda-10.0.cudnn7.3.tar.gz
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
build-essential \
python3 \
python3-pip \
openjdk-8-jdk-headless \
curl \
git \
cmake \
&& rm -rf /var/lib/apt/lists/* \
&& cd /tmp
RUN pip3 install --pre --no-cache-dir mxnet-model-server==1.0.5b20190521
RUN pip3 install --no-cache-dir numpy scipy xlrd Pillow boto3 six requests mxnet
RUN pip3 install --upgrade --force-reinstall tensorflow_gpu
#RUN pip3 install --no-cache-dir dlr
RUN mkdir -p /home/model-server && cd /home/model-server \
&& git clone --recursive https://github.com/neo-ai/neo-ai-dlr \
&& cd neo-ai-dlr \
&& git submodule update --init --recursive \
&& cd 3rdparty/tvm \
&& git checkout dev \
&& sed -i '1s;^;#include <cstring>\n;' src/runtime/cuda/cuda_device_api.cc \
&& cd ../.. \
&& mkdir build && cd build && cmake .. -DUSE_CUDA=ON -DUSE_CUDNN=ON -DUSE_TENSORRT=/packages/TensorRT-5.0.2.6 \
&& make -j15 && cd ../python && python3 setup.py bdist_wheel \
&& pip3 install dist/*.whl
RUN useradd -m model-server \
&& mkdir -p /home/model-server/tmp \
&& mkdir -p /home/model-server/model
COPY dockerd-entrypoint.sh /usr/local/bin/dockerd-entrypoint.sh
COPY config.properties /home/model-server/config.properties
COPY neo_template_$APP.py /home/model-server/neo_template.py
RUN chmod +x /usr/local/bin/dockerd-entrypoint.sh \
&& chown -R model-server /home/model-server
EXPOSE 8080 8081
USER model-server
WORKDIR /home/model-server
ENV TEMP=/home/model-server/tmp
ENTRYPOINT ["/usr/local/bin/dockerd-entrypoint.sh"]
CMD ["serve"]
LABEL maintainer="chyunsu@amazon.com, dantu@amazon.com, rakvas@amazon.com, lufen@amazon.com, dden@amazon.com"