Skip to content

Commit 4bdb73b

Browse files
author
Rick Lan
committed
Fix #61
1 parent 969e3ca commit 4bdb73b

18 files changed

+185
-3
lines changed

README.md

+13-3
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,21 @@ To support both old and new environments, [docker images](https://hub.docker.com
1313

1414
[Python](https://www.python.org/) 3 only as Python 2 is [end-of-life](https://pythonclock.org), so [deprecated](deprecated/deprecated.md).
1515

16-
All of images include vision-centric libraries, such as
16+
All of the images include:
1717
* [JupyterLab](https://jupyterlab.readthedocs.io/en/stable/)
18+
* [scikit-learn](https://scikit-learn.org/stable/)
19+
20+
Visualization libraries:
21+
* [matplotlib](https://matplotlib.org)
22+
* [seaborn](https://seaborn.pydata.org)
23+
24+
Vision-centric libraries:
1825
* [OpenCV](https://opencv.org/)
1926
* [scikit-image](http://scikit-image.org/)
2027

28+
NLP libraries:
29+
* [Natural Language Toolkit](https://www.nltk.org)
30+
2131
Check the CUDA compatibility [chart](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver)
2232
for the required version of Nvidia garphics driver for your host system.
2333

@@ -69,8 +79,8 @@ Images of Pytorch version 1.5 and higher include [Pytorch Lightning](https://git
6979
| `tf2.3` | CPU-only | [Dockerfile](docker/tf2.3/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf2.3.svg)](https://microbadger.com/images/wqael/notebooks:tf2.3) |
7080
| `tf2.3-cuda101` | Nvidia Driver >= 418.xx | [Dockerfile](docker/tf2.3-cuda101/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf2.3-cuda101.svg)](https://microbadger.com/images/wqael/notebooks:tf2.3-cuda101) |
7181
| `tf2.0.0-cuda10` | Nvidia Driver >= 410.xx | [Dockerfile](docker/tf2.0.0-cuda10/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf2.0.0-cuda10.svg)](https://microbadger.com/images/wqael/notebooks:tf2.0.0-cuda10) |
72-
| `tf1.15.2` | CPU-only | [Dockerfile](docker/tf1.15.2/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.2.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.2) |
73-
| `tf1.15.2-cuda10` | Nvidia Driver >= 410.xx | [Dockerfile](docker/tf1.15.2-cuda10/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.2-cuda10.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.2-cuda10) |
82+
| `tf1.15.4` | CPU-only | [Dockerfile](docker/tf1.15.4/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.4.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.4) |
83+
| `tf1.15.4-cuda10` | Nvidia Driver >= 410.xx | [Dockerfile](docker/tf1.15.4-cuda10/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.4-cuda10.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.4-cuda10) |
7484
| `jupyter-keras-tf1.12.3-py3-cuda9` | Nvidia Driver >= 384.xx | [Dockerfile](docker/jupyter-keras-tf1.12.3-py3-cuda9/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:jupyter-keras-tf1.12.3-py3-cuda9.svg)](https://microbadger.com/images/wqael/notebooks:jupyter-keras-tf1.12.3-py3-cuda9) |
7585
| `jupyter-keras-tf1.4.1-py3-cuda8` | Nvidia Driver >= 375.xx | [Dockerfile](docker/jupyter-keras-tf1.4.1-py3-cuda8/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:jupyter-keras-tf1.4.1-py3-cuda8.svg)](https://microbadger.com/images/wqael/notebooks:jupyter-keras-tf1.4.1-py3-cuda8) |
7686

deprecated/deprecated.md

+2
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
| `tf2.0.0` | CPU-only | [Dockerfile](tf2.0.0/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf2.0.0.svg)](https://microbadger.com/images/wqael/notebooks:tf2.0.0) |
1515
| `tf2` | CPU. Jupyter. TF 2.0 beta1. | [Dockerfile](tf2/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf2.svg) ![](https://images.microbadger.com/badges/commit/wqael/notebooks:tf2.svg)](https://microbadger.com/images/wqael/notebooks:tf2) |
1616
| `tf2-gpu` | CUDA 9. Jupyter. TF 2.0 beta1. | [Dockerfile](tf2-gpu/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf2-gpu.svg) ![](https://images.microbadger.com/badges/commit/wqael/notebooks:tf2-gpu.svg)](https://microbadger.com/images/wqael/notebooks:tf2-gpu) |
17+
| `tf1.15.2` | CPU-only | [Dockerfile](tf1.15.2/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.2.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.2) |
18+
| `tf1.15.2-cuda10` | Nvidia Driver >= 410.xx | [Dockerfile](tf1.15.2-cuda10/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.2-cuda10.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.2-cuda10) |
1719
| `tf1.15.0` | CPU-only | [Dockerfile](tf1.15.0/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.0.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.0) |
1820
| `tf1.15.0-cuda10` | Nvidia Driver >= 410.xx | [Dockerfile](tf1.15.0-cuda10/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:tf1.15.0-cuda10.svg)](https://microbadger.com/images/wqael/notebooks:tf1.15.0-cuda10) |
1921
| `jupyter-keras-tf1.14.0-py3` | CPU-only | [Dockerfile](jupyter-keras-tf1.14.0-py3/Dockerfile) | [![](https://images.microbadger.com/badges/image/wqael/notebooks:jupyter-keras-tf1.14.0-py3.svg)](https://microbadger.com/images/wqael/notebooks:jupyter-keras-tf1.14.0-py3) |
File renamed without changes.
File renamed without changes.
File renamed without changes.

docker/tf1.15.4-cuda10/Dockerfile

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
FROM tensorflow/tensorflow:1.15.4-gpu-py3
2+
3+
LABEL description="Jupyter / Keras 2.3.1 / Tensorflow 1.15.4 / CUDA 10.0.130 / Python 3.6.9 / Ubuntu 18.04.5 LTS" \
4+
maintainer="https://github.com/rlan/notebooks"
5+
6+
# Build-time metadata as defined at http://label-schema.org
7+
ARG BUILD_DATE
8+
ARG VCS_REF
9+
ARG VERSION
10+
LABEL org.label-schema.build-date=$BUILD_DATE \
11+
org.label-schema.vcs-ref=$VCS_REF \
12+
org.label-schema.vcs-url="https://github.com/rlan/notebooks" \
13+
org.label-schema.version=$VERSION \
14+
org.label-schema.schema-version="1.0"
15+
16+
# Avoid configuring tzdata
17+
ARG DEBIAN_FRONTEND=noninteractive
18+
19+
RUN apt-get -qq update \
20+
&& apt-get -qq install -y --no-install-recommends \
21+
graphviz \
22+
libhdf5-dev \
23+
python3-pandas \
24+
&& apt-get -qq clean \
25+
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
26+
27+
RUN pip --no-cache-dir install -q --upgrade \
28+
pip \
29+
setuptools \
30+
wheel
31+
RUN pip --no-cache-dir --use-feature=2020-resolver install -q --upgrade \
32+
h5py \
33+
jupyterlab \
34+
keras \
35+
matplotlib \
36+
nltk \
37+
opencv-python-headless \
38+
pillow \
39+
pydot \
40+
pyyaml \
41+
scikit-learn \
42+
scikit-image \
43+
seaborn
44+
45+
# Set up our notebook config.
46+
COPY jupyter_notebook_config.py /root/.jupyter/
47+
48+
# Jupyter has issues with being run directly:
49+
# https://github.com/ipython/ipython/issues/7062
50+
# We just add a little wrapper script.
51+
COPY run_jupyter.sh /
52+
53+
# TensorBoard
54+
EXPOSE 6006
55+
# IPython
56+
EXPOSE 8888
57+
58+
WORKDIR /notebooks
59+
60+
CMD ["/run_jupyter.sh", "--allow-root"]

docker/tf1.15.4-cuda10/hooks/build

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
# $IMAGE_NAME var is injected into the build so the tag is correct.
3+
docker build --build-arg VCS_REF=`git rev-parse --short HEAD` \
4+
--build-arg BUILD_DATE=`date -u +”%Y-%m-%dT%H:%M:%SZ”` \
5+
-t $IMAGE_NAME .
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import os
2+
from IPython.lib import passwd
3+
4+
c = c # pylint:disable=undefined-variable
5+
c.NotebookApp.ip = '0.0.0.0'
6+
c.NotebookApp.port = int(os.getenv('PORT', 8888))
7+
c.NotebookApp.open_browser = False
8+
9+
# sets a password if PASSWORD is set in the environment
10+
if 'PASSWORD' in os.environ:
11+
password = os.environ['PASSWORD']
12+
if password:
13+
c.NotebookApp.password = passwd(password)
14+
else:
15+
c.NotebookApp.password = ''
16+
c.NotebookApp.token = ''
17+
del os.environ['PASSWORD']
18+

docker/tf1.15.4-cuda10/run_jupyter.sh

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
jupyter notebook "$@"

docker/tf1.15.4/Dockerfile

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
FROM tensorflow/tensorflow:1.15.4-py3
2+
3+
LABEL description="Jupyter / Keras 2.3.1 / Tensorflow 1.15.4 / Python 3.6.9 / Ubuntu 18.04.5 LTS" \
4+
maintainer="https://github.com/rlan/notebooks"
5+
6+
# Build-time metadata as defined at http://label-schema.org
7+
ARG BUILD_DATE
8+
ARG VCS_REF
9+
ARG VERSION
10+
LABEL org.label-schema.build-date=$BUILD_DATE \
11+
org.label-schema.vcs-ref=$VCS_REF \
12+
org.label-schema.vcs-url="https://github.com/rlan/notebooks" \
13+
org.label-schema.version=$VERSION \
14+
org.label-schema.schema-version="1.0"
15+
16+
# Avoid configuring tzdata
17+
ARG DEBIAN_FRONTEND=noninteractive
18+
19+
RUN apt-get -qq update \
20+
&& apt-get -qq install -y --no-install-recommends \
21+
graphviz \
22+
libhdf5-dev \
23+
python3-pandas \
24+
&& apt-get -qq clean \
25+
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
26+
27+
RUN pip --no-cache-dir install -q --upgrade \
28+
pip \
29+
setuptools \
30+
wheel
31+
RUN pip --no-cache-dir --use-feature=2020-resolver install -q --upgrade \
32+
h5py \
33+
jupyterlab \
34+
keras \
35+
matplotlib \
36+
nltk \
37+
opencv-python-headless \
38+
pillow \
39+
pydot \
40+
pyyaml \
41+
scikit-learn \
42+
scikit-image \
43+
seaborn
44+
45+
# Set up our notebook config.
46+
COPY jupyter_notebook_config.py /root/.jupyter/
47+
48+
# Jupyter has issues with being run directly:
49+
# https://github.com/ipython/ipython/issues/7062
50+
# We just add a little wrapper script.
51+
COPY run_jupyter.sh /
52+
53+
# TensorBoard
54+
EXPOSE 6006
55+
# IPython
56+
EXPOSE 8888
57+
58+
WORKDIR /notebooks
59+
60+
CMD ["/run_jupyter.sh", "--allow-root"]

docker/tf1.15.4/hooks/build

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
# $IMAGE_NAME var is injected into the build so the tag is correct.
3+
docker build --build-arg VCS_REF=`git rev-parse --short HEAD` \
4+
--build-arg BUILD_DATE=`date -u +”%Y-%m-%dT%H:%M:%SZ”` \
5+
-t $IMAGE_NAME .
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import os
2+
from IPython.lib import passwd
3+
4+
c = c # pylint:disable=undefined-variable
5+
c.NotebookApp.ip = '0.0.0.0'
6+
c.NotebookApp.port = int(os.getenv('PORT', 8888))
7+
c.NotebookApp.open_browser = False
8+
9+
# sets a password if PASSWORD is set in the environment
10+
if 'PASSWORD' in os.environ:
11+
password = os.environ['PASSWORD']
12+
if password:
13+
c.NotebookApp.password = passwd(password)
14+
else:
15+
c.NotebookApp.password = ''
16+
c.NotebookApp.token = ''
17+
del os.environ['PASSWORD']
18+

docker/tf1.15.4/run_jupyter.sh

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/bash
2+
jupyter notebook "$@"

0 commit comments

Comments
 (0)