@@ -2,7 +2,7 @@ FROM nvidia/cuda:10.0-devel-ubuntu18.04
2
2
3
3
# TensorFlow version is tightly coupled to CUDA and cuDNN so it should be selected carefully
4
4
ENV TENSORFLOW_VERSION=1.14.0
5
- ENV PYTORCH_VERSION=1.3 .0
5
+ ENV PYTORCH_VERSION=1.4 .0
6
6
ENV TORCHVISION_VERSION=0.5.0
7
7
ENV TENSORBOARDX_VERSION=1.9
8
8
ENV MXNET_VERSION=1.5.1
@@ -25,6 +25,7 @@ RUN apt-get update && apt-get install -y --allow-downgrades --allow-change-held-
25
25
build-essential \
26
26
cmake \
27
27
g++-4.8 \
28
+ dkms \
28
29
git \
29
30
curl \
30
31
vim \
@@ -42,13 +43,15 @@ RUN apt-get update && apt-get install -y --allow-downgrades --allow-change-held-
42
43
libsm6 \
43
44
libxext6 \
44
45
libxrender-dev \
46
+ libcairo2-dev libgirepository1.0-dev pkg-config gir1.2-gtk-3.0 \
47
+ proj-bin libproj-dev libgeos-dev libgeos++-dev graphviz \
45
48
python${PYTHON_VERSION} \
46
49
python${PYTHON_VERSION}-dev \
47
50
libnuma-dev
48
51
49
52
RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - && \
50
53
apt-get update -y && \
51
- apt-get install -y nodejs proj-bin libproj-dev libgeos-dev libgeos++-dev graphviz
54
+ apt-get install -y nodejs
52
55
53
56
# OFED
54
57
ENV STAGE_DIR=/tmp
@@ -69,7 +72,6 @@ RUN mkdir -p ${STAGE_DIR} && \
69
72
cd ${STAGE_DIR} && \
70
73
tar xzf ${STAGE_DIR}/nvidia-peer-memory_1.0.orig.tar.gz && \
71
74
cd ${STAGE_DIR}/nvidia-peer-memory-1.0 && \
72
- apt-get install -y dkms && \
73
75
dpkg-buildpackage -us -uc && \
74
76
dpkg -i ${STAGE_DIR}/nvidia-peer-memory_1.0-8_all.deb
75
77
@@ -79,75 +81,44 @@ RUN ln -s /usr/local/cuda-10.0 /usr/local/cuda && \
79
81
ldconfig
80
82
81
83
RUN if [[ "${PYTHON_VERSION}" == "3.6" ]]; then \
82
- apt-get install -y python${PYTHON_VERSION}-distutils; \
84
+ apt-get install -y python${PYTHON_VERSION}-distutils python-apt ; \
83
85
fi
84
86
87
+ RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 2
88
+
85
89
WORKDIR /tmp
86
90
RUN curl https://bootstrap.pypa.io/get-pip.py | python3 && \
87
91
python3 -m pip install --no-cache-dir -U setuptools pip
88
92
89
93
# Install TensorFlow, Keras, PyTorch and MXNet
90
- RUN python3 -m pip install --no-cache-dir \
91
- numpy==1.14.5 \
94
+ RUN python3 -m pip install pip --no-cache-dir -Iv \
95
+ Cython==0.29.13 \
96
+ numpy==1.16.5 \
92
97
scipy==1.3.1 \
93
- scikit-learn \
98
+ scikit-image==0.16.2 \
99
+ scikit-learn==0.21.3 \
94
100
matplotlib==3.1.3 \
95
- bokeh \
96
- ipython \
97
- jupyter \
98
- jupyterlab \
99
- jupyter-tensorboard \
100
- ipywidgets \
101
- ipyparallel \
102
- jupyterlab \
103
- jupyterthemes \
104
- jupyter-js-widgets-nbextension \
105
- jupyter_contrib_nbextensions \
106
- jupyter_nbextensions_configurator \
107
- requests \
108
- pyzmq simplejson msgpack-python uvloop \
109
- aiozmq dataclasses tabulate \
110
- namedlist six "python-dateutil>=2" \
111
- versioneer \
112
- pyproj Cartopy \
113
- pandas \
114
- seaborn \
115
- tensorflow-gpu==${TENSORFLOW_VERSION} \
116
- Keras==2.3.1 \
117
- keras_applications \
118
- keras_preprocessing \
119
- tensorflow-hub \
120
- tf2onnx \
121
- tqdm \
122
- future \
123
- typing \
124
- pillow \
125
- graphviz \
126
- pydotplus \
127
- pydot \
128
- seaborn \
129
- selenium==3.141.0 \
130
- test-generator==0.1.1 \
131
- defusedxml==0.5.0 \
132
- networkx==2.3 \
133
- google-images-download==2.8.0 \
134
- opencv-python \
135
- pygame \
136
- h5py \
137
- && \
138
- rm -rf /root/.cache && \
139
- rm -f /tmp/*.whl
101
+ tensorflow-gpu==${TENSORFLOW_VERSION}
140
102
141
- RUN python3 -m pip install --no-cache-dir https://download.pytorch.org/whl/cu100/torch-${PYTORCH_VERSION}%2Bcu100-cp36-cp36m-linux_x86_64.whl \
103
+ RUN python3 -m pip install --no-cache-dir \
104
+ https://download.pytorch.org/whl/cu100/torch-${PYTORCH_VERSION}%2Bcu100-cp36-cp36m-linux_x86_64.whl \
142
105
https://download.pytorch.org/whl/cu100/torchvision-${TORCHVISION_VERSION}%2Bcu100-cp36-cp36m-linux_x86_64.whl && \
143
106
python3 -m pip install --no-cache-dir tensorboardX==${TENSORBOARDX_VERSION}
144
-
145
107
RUN python3 -m pip install --no-cache-dir mxnet-cu100==${MXNET_VERSION}
108
+ RUN python3 -m pip install --no-cache-dir --extra-index-url \
109
+ https://developer.download.nvidia.com/compute/redist/cuda/10.0 \
110
+ nvidia-dali \
111
+ nvidia-dali-tf-plugin
146
112
113
+ WORKDIR /tmp
114
+ COPY ./requirements.19.09.txt /tmp
115
+ RUN python3 -m pip install --no-cache-dir -Ir requirements.19.09.txt
147
116
148
- RUN python3 -m pip install --no-cache-dir \
117
+ RUN python3 -m pip install --no-cache-dir -Iv \
149
118
tensorwatch==0.8.10 \
150
- nni
119
+ && \
120
+ rm -rf /root/.cache && \
121
+ rm -f /tmp/*.whl /tmp/requirements.19.09.txt
151
122
152
123
# Jupyter notebook extension
153
124
RUN mkdir -p /home/work/.jupyter/nbextension
@@ -178,11 +149,11 @@ RUN mkdir /tmp/openmpi && \
178
149
RUN ldconfig /usr/local/cuda/targets/x86_64-linux/lib/stubs && \
179
150
HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL \
180
151
HOROVOD_WITH_TENSORFLOW=1 HOROVOD_WITH_PYTORCH=1 HOROVOD_WITH_MXNET=1 \
181
- pip install --no-cache-dir horovod && \
152
+ pip install --no-cache-dir horovod==0.19.0 && \
182
153
ldconfig
183
154
184
155
RUN python3 -m pip install --no-cache-dir \
185
- mpi4py \
156
+ mpi4py==3.0.3 \
186
157
nni
187
158
188
159
# Install OpenSSH for MPI to communicate between containers
0 commit comments