-
Notifications
You must be signed in to change notification settings - Fork 25
/
Dockerfile.py3-th-gpu
65 lines (58 loc) · 1.68 KB
/
Dockerfile.py3-th-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
# docker-keras - Keras in Docker with Python 3 and Theano on GPU
FROM gw000/debian-cuda:9.1_7.0
MAINTAINER gw0 [http://gw.tnode.com/] <[email protected]>
# install debian packages
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -qq \
&& apt-get install --no-install-recommends -y \
# install essentials
build-essential \
g++ \
git \
openssh-client \
# install python 3
python3 \
python3-dev \
python3-pip \
python3-setuptools \
python3-virtualenv \
python3-wheel \
pkg-config \
# requirements for numpy
libopenblas-base \
python3-numpy \
python3-scipy \
# requirements for keras
python3-h5py \
python3-yaml \
python3-pydot \
# requirements for theano
cmake \
cython3 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# build and install requirements for theano
RUN git clone https://github.com/Theano/libgpuarray.git /tmp/libgpuarray \
&& cd /tmp/libgpuarray \
&& mkdir ./Build \
&& cd ./Build \
&& cmake .. -DCMAKE_BUILD_TYPE=Release \
&& make \
&& make install \
&& cd .. \
&& python3 setup.py build \
&& python3 setup.py install \
&& cd / \
&& rm -rf /tmp/libgpuarray \
&& ldconfig
ARG THEANO_VERSION=1.0.1
ENV THEANO_FLAGS='device=cuda,floatX=float32'
RUN pip3 --no-cache-dir install git+https://github.com/Theano/Theano.git@rel-${THEANO_VERSION}
ARG KERAS_VERSION=2.1.4
ENV KERAS_BACKEND=theano
RUN pip3 --no-cache-dir install --no-dependencies git+https://github.com/fchollet/keras.git@${KERAS_VERSION}
# quick test and dump package lists
RUN python3 -c "import theano; print(theano.__version__)" \
&& dpkg-query -l > /dpkg-query-l.txt \
&& pip3 freeze > /pip3-freeze.txt
WORKDIR /srv/