diff --git a/Dockerfile b/Dockerfile index 6c798c176cc47c661b16f92b78fc00db0144b101..2e09b9144e91795d8517f55e6229ceecc355bf9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,79 @@ -FROM tensorflow/tensorflow:latest-py3 -MAINTAINER Spencer Chen -RUN apt update && \ -apt install -y nano -RUN pip install --upgrade pip -RUN pip install tensorflow==2.0.0-beta1 && \ -pip install matplotlib && \ -pip install jupyter notebook \ No newline at end of file +ARG cuda_version=9.0 +ARG cudnn_version=7 +FROM nvidia/cuda:${cuda_version}-cudnn${cudnn_version}-devel + +# Install system packages +RUN apt-get update && apt-get install -y --no-install-recommends \ + bzip2 \ + g++ \ + git \ + graphviz \ + libgl1-mesa-glx \ + libhdf5-dev \ + openmpi-bin \ + wget && \ + rm -rf /var/lib/apt/lists/* + +# Install conda +ENV CONDA_DIR /opt/conda +ENV PATH $CONDA_DIR/bin:$PATH + +RUN wget --quiet --no-check-certificate https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-x86_64.sh && \ + echo "c59b3dd3cad550ac7596e0d599b91e75d88826db132e4146030ef471bb434e9a *Miniconda3-4.2.12-Linux-x86_64.sh" | sha256sum -c - && \ + /bin/bash /Miniconda3-4.2.12-Linux-x86_64.sh -f -b -p $CONDA_DIR && \ + rm Miniconda3-4.2.12-Linux-x86_64.sh && \ + echo export PATH=$CONDA_DIR/bin:'$PATH' > /etc/profile.d/conda.sh + +# Install Python packages and keras +ENV NB_USER keras +ENV NB_UID 1000 + +RUN useradd -m -s /bin/bash -N -u $NB_UID $NB_USER && \ + chown $NB_USER $CONDA_DIR -R && \ + mkdir -p /src && \ + chown $NB_USER /src + +USER $NB_USER + +ARG python_version=3.6 + +RUN conda config --append channels conda-forge +RUN conda install -y python=${python_version} && \ + pip install --upgrade pip && \ + pip install \ + sklearn_pandas \ + tensorflow-gpu \ + cntk-gpu && \ + conda install \ + bcolz \ + h5py \ + matplotlib \ + mkl \ + nose \ + notebook \ + Pillow \ + pandas \ + pydot \ + pygpu \ + pyyaml \ + scikit-learn \ + six \ + theano \ + mkdocs \ + && \ + git clone git://github.com/keras-team/keras.git /src && pip install -e /src[tests] && \ + pip install git+git://github.com/keras-team/keras.git && \ + conda clean -yt + +#ADD theanorc /home/keras/.theanorc + +ENV LC_ALL=C.UTF-8 +ENV LANG=C.UTF-8 + +ENV PYTHONPATH='/src/:$PYTHONPATH' + +WORKDIR /data + +EXPOSE 8888 + +CMD jupyter notebook --port=8888 --ip=0.0.0.0