Update Dockerfile to TensorFlow 0.11.0
parent
924abd5b18
commit
76a192606f
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function jupyter {
|
||||||
|
# Run Jupyter with xvfb-run so that it can render the CartPole
|
||||||
|
# environment without crashing:
|
||||||
|
xvfb-run -s "-screen 0 1400x900x24" /home/main/.local/bin/jupyter $@
|
||||||
|
}
|
||||||
|
|
||||||
|
function ipython {
|
||||||
|
jupyter $@
|
||||||
|
}
|
59
Dockerfile
59
Dockerfile
|
@ -4,36 +4,55 @@ USER root
|
||||||
|
|
||||||
RUN apt-get update -y &&\
|
RUN apt-get update -y &&\
|
||||||
apt-get install --fix-missing -y \
|
apt-get install --fix-missing -y \
|
||||||
python-numpy\
|
|
||||||
python-dev\
|
|
||||||
cmake\
|
cmake\
|
||||||
zlib1g-dev\
|
|
||||||
libjpeg-dev\
|
libjpeg-dev\
|
||||||
xvfb\
|
|
||||||
libav-tools\
|
libav-tools\
|
||||||
xorg-dev\
|
|
||||||
python-opengl\
|
|
||||||
libboost-all-dev\
|
libboost-all-dev\
|
||||||
libsdl2-dev\
|
libsdl2-dev\
|
||||||
swig &&\
|
python-dev\
|
||||||
|
python-opengl\
|
||||||
|
python-pip\
|
||||||
|
python3-dev\
|
||||||
|
python3-opengl\
|
||||||
|
python3-pip\
|
||||||
|
swig\
|
||||||
|
xorg-dev\
|
||||||
|
xvfb\
|
||||||
|
zlib1g-dev &&\
|
||||||
apt-get clean &&\
|
apt-get clean &&\
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*tmp
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*tmp
|
||||||
|
|
||||||
USER main
|
USER main
|
||||||
|
|
||||||
# Python 2
|
RUN /usr/bin/pip2 install --upgrade --user pip wheel
|
||||||
RUN conda install -c jjhelmus tensorflow=0.10.0
|
RUN /usr/bin/pip3 install --upgrade --user pip wheel
|
||||||
RUN conda install -c conda-forge jupyter_contrib_nbextensions
|
|
||||||
RUN conda install -c https://conda.anaconda.org/kne pybox2d
|
ENV PATH /home/main/.local/bin:$PATH
|
||||||
|
|
||||||
|
# Install scientific packages
|
||||||
|
RUN pip2 install --upgrade --user matplotlib numexpr numpy pandas Pillow protobuf psutil scipy scikit-learn sympy jupyter
|
||||||
|
RUN pip3 install --upgrade --user matplotlib numexpr numpy pandas Pillow protobuf psutil scipy scikit-learn sympy jupyter
|
||||||
|
|
||||||
|
# Install TensorFlow
|
||||||
|
RUN pip2 install --user --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl
|
||||||
|
RUN pip3 install --user --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp34-cp34m-linux_x86_64.whl
|
||||||
|
|
||||||
|
# Install OpenAI gym
|
||||||
|
RUN pip2 install --user --upgrade gym
|
||||||
|
RUN pip3 install --user --upgrade gym
|
||||||
|
RUN pip2 install --user --upgrade 'gym[all]'
|
||||||
|
RUN pip3 install --user --upgrade 'gym[all]'
|
||||||
|
|
||||||
|
# Install Jupyter extensions
|
||||||
|
RUN pip3 install --user --upgrade https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master
|
||||||
|
|
||||||
|
# Jupyter extensions
|
||||||
|
#RUN conda install -c conda-forge jupyter_contrib_nbextensions
|
||||||
RUN jupyter contrib nbextension install --user
|
RUN jupyter contrib nbextension install --user
|
||||||
RUN jupyter nbextension enable toc2/main
|
RUN jupyter nbextension enable toc2/main
|
||||||
RUN pip install --upgrade gym
|
|
||||||
RUN pip install --upgrade 'gym[atari]'
|
|
||||||
RUN pip install --upgrade 'gym[box2d]'
|
|
||||||
|
|
||||||
# Python 3
|
RUN /home/main/anaconda2/bin/jupyter kernelspec remove -f python3
|
||||||
RUN conda install -n python3 -c jjhelmus tensorflow=0.10.0
|
RUN /usr/bin/python2 -m ipykernel install --user
|
||||||
RUN conda install -n python3 -c https://conda.anaconda.org/kne pybox2d
|
RUN /usr/bin/python3 -m ipykernel install --user
|
||||||
RUN /bin/bash -c "source activate python3 && pip install --upgrade gym"
|
|
||||||
RUN /bin/bash -c "source activate python3 && pip install --upgrade 'gym[atari]'"
|
ADD .binder_start /home/main/
|
||||||
RUN /bin/bash -c "source activate python3 && pip install --upgrade 'gym[box2d]'"
|
|
||||||
|
|
|
@ -1,95 +0,0 @@
|
||||||
# Andrew Osheroff's docker base image, using system python rather than conda
|
|
||||||
# https://github.com/binder-project/binder-build-core ... /images/python/3.5
|
|
||||||
FROM debian:jessie
|
|
||||||
|
|
||||||
MAINTAINER Aurelien Geron <aurelien.geron@gmail.com>
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
|
||||||
|
|
||||||
RUN apt-get update -y &&\
|
|
||||||
apt-get install --fix-missing -y \
|
|
||||||
build-essential\
|
|
||||||
bzip2\
|
|
||||||
cmake\
|
|
||||||
curl\
|
|
||||||
gcc\
|
|
||||||
gfortran\
|
|
||||||
git\
|
|
||||||
libav-tools\
|
|
||||||
libboost-all-dev\
|
|
||||||
libglib2.0-0\
|
|
||||||
libjpeg-dev\
|
|
||||||
libsdl2-dev\
|
|
||||||
libsm6\
|
|
||||||
locales\
|
|
||||||
nodejs-legacy\
|
|
||||||
npm\
|
|
||||||
python-dev\
|
|
||||||
python-opengl\
|
|
||||||
python-pip\
|
|
||||||
python-qt4\
|
|
||||||
python-virtualenv\
|
|
||||||
python3-dev\
|
|
||||||
python3-opengl\
|
|
||||||
python3-pip\
|
|
||||||
python3-virtualenv\
|
|
||||||
swig\
|
|
||||||
vim\
|
|
||||||
wget\
|
|
||||||
xorg-dev\
|
|
||||||
xvfb\
|
|
||||||
zlib1g-dev &&\
|
|
||||||
apt-get clean &&\
|
|
||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*tmp
|
|
||||||
|
|
||||||
# set utf8 locale:
|
|
||||||
RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen
|
|
||||||
ENV LANG=en_US.UTF-8 \
|
|
||||||
LC_ALL=en_US.UTF-8
|
|
||||||
|
|
||||||
# We run our docker images with a non-root user as a security precaution.
|
|
||||||
# main is our user
|
|
||||||
RUN useradd -m -s /bin/bash main
|
|
||||||
|
|
||||||
EXPOSE 8888
|
|
||||||
|
|
||||||
USER main
|
|
||||||
ENV HOME /home/main
|
|
||||||
ENV SHELL /bin/bash
|
|
||||||
ENV USER main
|
|
||||||
WORKDIR $HOME
|
|
||||||
|
|
||||||
ENV SHELL /bin/bash
|
|
||||||
|
|
||||||
RUN /usr/bin/pip install --upgrade --user pip wheel
|
|
||||||
RUN /usr/bin/pip3 install --upgrade --user pip wheel
|
|
||||||
|
|
||||||
ENV PATH /home/main/.local/bin:$PATH
|
|
||||||
|
|
||||||
# Install scientific packages
|
|
||||||
RUN pip install --upgrade --user matplotlib numexpr numpy pandas Pillow protobuf psutil scipy scikit-learn sympy
|
|
||||||
RUN pip3 install --upgrade --user matplotlib numexpr numpy pandas Pillow protobuf psutil scipy scikit-learn sympy
|
|
||||||
|
|
||||||
# Install TensorFlow
|
|
||||||
RUN pip install --upgrade --user https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc0-cp27-none-linux_x86_64.whl
|
|
||||||
RUN pip3 install --upgrade --user https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc0-cp34-cp34m-linux_x86_64.whl
|
|
||||||
|
|
||||||
# Install OpenAI gym
|
|
||||||
RUN pip install --upgrade --user gym
|
|
||||||
RUN pip3 install --upgrade --user gym
|
|
||||||
RUN pip install --upgrade --user "gym[atari]"
|
|
||||||
RUN pip3 install --upgrade --user "gym[atari]"
|
|
||||||
|
|
||||||
# Install Jupyter and Jupyter extensions
|
|
||||||
RUN pip install --upgrade --user jupyter https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master
|
|
||||||
RUN pip3 install --upgrade --user jupyter https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tarball/master
|
|
||||||
|
|
||||||
# Install Notebook extensions and activate the ToC extension
|
|
||||||
RUN jupyter contrib nbextension install --user
|
|
||||||
RUN jupyter nbextension enable toc2/main
|
|
||||||
|
|
||||||
# Replace script to start Jupyter with xvfb-run
|
|
||||||
ADD start-notebook.sh /home/main/
|
|
||||||
|
|
||||||
RUN ipython2 kernel install --user
|
|
||||||
RUN ipython3 kernel install --user
|
|
|
@ -1,16 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
OPTS=""
|
|
||||||
echo "$HOME/notebooks/index.ipynb: " $HOME/notebooks/index.ipynb
|
|
||||||
if [ -e $HOME/notebooks/index.ipynb ]; then
|
|
||||||
OPTS="$OPTS --NotebookApp.default_url=/tree/index.ipynb "
|
|
||||||
fi
|
|
||||||
if [ -e $HOME/.binder_start ]; then
|
|
||||||
source $HOME/.binder_start
|
|
||||||
fi
|
|
||||||
CMD="$OPTS $@"
|
|
||||||
echo "CMD: " $CMD
|
|
||||||
|
|
||||||
# Run Jupyter with xvfb-run so that it can render the CartPole
|
|
||||||
# environment without crashing:
|
|
||||||
xvfb-run -s "-screen 0 1400x900x24" jupyter notebook $CMD
|
|
||||||
|
|
Loading…
Reference in New Issue