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