forked from ageron/handson-ml
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use docker image ageron/handson-ml-base which solves the issue with u…
…sing OpenAI gym within Jupyter
- Loading branch information
Showing
3 changed files
with
117 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1 @@ | ||
FROM andrewosh/binder-base | ||
|
||
USER root | ||
RUN apt-get update | ||
RUN apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig | ||
|
||
USER main | ||
|
||
# Python 2 | ||
RUN conda install -c jjhelmus tensorflow=0.10.0 | ||
RUN conda install -c conda-forge jupyter_contrib_nbextensions | ||
RUN jupyter contrib nbextension install --user | ||
RUN jupyter nbextension enable toc2/main | ||
RUN pip install --upgrade gym | ||
RUN pip install --upgrade 'gym[atari]' | ||
|
||
# Python 3 | ||
RUN conda install -n python3 -c jjhelmus tensorflow=0.10.0 | ||
RUN /bin/bash -c "source activate python3 && pip install --upgrade gym" | ||
RUN /bin/bash -c "source activate python3 && pip install --upgrade 'gym[atari]'" | ||
FROM ageron/handson-ml-base |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# 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 <[email protected]> | ||
|
||
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 | ||
|
||
# Add helper scripts | ||
ADD start-notebook.sh /home/main/ | ||
|
||
USER main | ||
|
||
ENV SHELL /bin/bash | ||
|
||
RUN pip install --upgrade --user pip wheel | ||
RUN 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 | ||
|
||
# Replace script to start Jupyter with xvfb-run | ||
ADD start-notebook.sh /home/main/ | ||
|
||
RUN ipython2 kernel install --user | ||
RUN ipython3 kernel install --user | ||
|
||
# Install Notebook extensions and activate the ToC extension | ||
RUN jupyter contrib nbextension install --user | ||
RUN jupyter nbextension enable toc2/main |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#!/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 | ||
|