docker-keras-full is a Docker image built from Debian 9 (amd64) with a deep learning research environment based on Keras and Jupyter. It supports CPU and GPU processing with TensorFlow, Theano and CNTK backends. It features Jupyter Notebook with Python 2 and 3 support and uses only Debian and Python packages (no manual installations).
Open source project:
- home: http://gw.tnode.com/docker/keras-full/
- github: http://github.com/gw0/docker-keras-full/
- technology: debian, keras, theano, tensorflow, cntk, openblas, cuda toolkit, python, python3, numpy, h5py, jupyter, tensorboard, matplotlib, pillow, pandas, scikit-learn, statsmodels
- docker hub: http://hub.docker.com/r/gw000/keras-full/
Available tags:
2.1.4
,latest
[2018-02-15]: Python 2.7/3.5 + Keras (2.1.4) + TensorFlow (1.5.0) + Theano (1.0.1) + CNTK (2.4) on CPU/GPU2.1.1
[2017-12-01]: Python 2.7/3.5 + Keras (2.1.1) + TensorFlow (1.4.0) + Theano (1.0.0) + CNTK (2.3) on CPU/GPU2.0.2
[2017-03-27]: Python 2.7/3.5 + Keras (2.0.2) + TensorFlow (1.0.1) + Theano (0.9.0) on CPU/GPU1.2.0
[2016-12-21]: Python 2.7/3.5 + Keras (1.2.0) + TensorFlow (0.12.0) + Theano (0.8.2) on CPU/GPU1.1.0
[2016-09-20]: Python 2.7/3.5 + Keras (1.1.0) + TensorFlow (0.10.0) + Theano (0.8.2) on CPU/GPU1.0.8
[2016-08-28]: Python 2.7/3.5 + Keras (1.0.8) + TensorFlow (0.9.0) + Theano (0.8.2) on CPU/GPU1.0.6
[2016-07-20]: Python 2.7/3.5 + Keras (1.0.6) + TensorFlow (0.9.0) + Theano (0.8.2) on CPU/GPU1.0.4
[2016-06-16]: Python 2.7/3.5 + Keras (1.0.4) + TensorFlow (0.8.0) + Theano (0.8.2) on CPU/GPU
Quick experiment from console with IPython 2.7 or 3.5:
$ docker run -it --rm gw000/keras-full ipython2
$ docker run -it --rm gw000/keras-full ipython3
To start the Jupyter web interface on http://<ip>:8888/
(password: keras
) and notebooks stored in current directory (will be mapped to /srv
):
$ docker run -d -p 8888:8888 -v $(pwd):/srv gw000/keras-full
To utilize your GPUs this Docker image needs access to your /dev/nvidia*
devices and CUDA Driver libraries (see docker-debian-cuda), like:
$ docker run -d $(ls /dev/nvidia* | xargs -I{} echo '--device={}') $(ls /usr/lib/*-linux-gnu/{libcuda,libnvidia}* | xargs -I{} echo '-v {}:{}:ro') -p 8888:8888 -v $(pwd):/srv gw000/keras-full
To change the default password and token authentication, prepare a new hashed password and a token string and pass it as environment variables:
$ docker run -d -p 8888:8888 -e PASSWD="sha1:..." -e TOKEN="..." -v $(pwd):/srv gw000/keras-full
If the TensorFlow backend is used, it is possible to start the TensorBoard visualization tool directly from the Jupyter web interface (see usage).
If you encounter any bugs or have feature requests, please file them in the issue tracker or even develop it yourself and submit a pull request over GitHub.
Copyright © 2016-2018 gw0 [http://gw.tnode.com/] <[email protected]>
All code is licensed under the GNU Affero General Public License 3.0+ (AGPL-3.0+). Note that it is mandatory to make all modifications and complete source code publicly available to any user.