Neural Network Libraries is a deep learning framework that is intended to be used for research, development and production. We aim to have it running everywhere: desktop PCs, HPC clusters, embedded devices and production servers.
What is Neural Network Libraries?
Neural Network Libraries is a deep learning framework that is intended to be used for research, development and production. We aim to have it running everywhere: desktop PCs, HPC clusters, embedded devices and production servers.
Neural Network Libraries is free for use
Neural Network Libraries is provided with a Apache license version 2.0. You could use, modify and re-publish Neural Network Libraries for free.
Quickstart Guide for Neural Network Libraries
- Pull NGC docker image
$ docker pull ${image}
- Launch the container A typical way to start an interactive shell
$ docker run --rm -ti -u $(id -u) -v /etc/passwd:/etc/passwd -v $(pwd):$(pwd) -v $HOME:$HOME -w $(pwd) --gpus all ${image} bash
where
--rmDelete the container when exit-tiStart container in interactive mode-eSet envrionment variables-uUsername or UID-vBind mount a volume-wWorkding directory inside the container--gpusGPU core numbers
Or to run specific task in the container and exit without interactive shell
$ docker run --rm -e -u $(id -u) -v /etc/passwd:/etc/passwd -v $(pwd):$(pwd) -v $HOME:$HOME -w $(pwd) --gpus all ${image} bash ./your_task.sh
where
--rmDelete the container when exit-tiStart container in interactive mode-eSet envrionment variables-uUsername or UID-vBind mount a volume-wWorkding directory inside the container--gpusGPU core numbersyour_task.shYour specified task
- Exit the container
When you are done, close the container session by typing
exitfrom container terminal.
What's included in the NGC image
- A ready to use Neural Network Libraries and CUDA extension environment, all their dependencies are satified.
- Neural Network Libraries - Examples: Find
/home/nnabla/examplesin the container.
Examples
The container contains in place working examples under /home/nnabla/examples, click example link for detailed README:
MINST Examples
-
Demostrate serveral deep learning algorithms on MNIST dataset, which is one of the most popular image classification datasets in the machine learning community. The MNIST dataset will be automatically downloaded when running any of the examples.
- Classification task
$ docker run --gpus all -w /home/nnabla/examples/mnist-collection ${image} python3 classification.py -c cudnn -i 1000$ docker run --gpus all -w /home/nnabla/examples/mnist-collection ${image} python3 classification_bnn.py -c cudnn -i 1000- Deep Convolutional GAN
$ docker run --gpus all -w /home/nnabla/examples/mnist-collection ${image} python3 dcgan.py -c cudnn -i 1000
```
$ docker run --gpus all -w /home/nnabla/examples/mnist-collection ${image} python3 vat.py -c cudnn -i 1000
```
* Variational Auto-encoder
```
$ docker run --gpus all -w /home/nnabla/examples/mnist-collection ${image} python3 vae.py -c cudnn -i 1000
```
Training Example using CIFAR-10 and CIFAR-100
-
Demonstrate several deep learning algorithms on CIFAR-10 dataset and CIFAR-100 dataset, which are one of the most popular image classification datasets in the machine learning community. The datasets will be automatically downloaded when running any of the examples.
- Classification task
$ docker run --gpus all -w /home/nnabla/examples/cifar10-100-collection ${image} python3 classification.py -c cudnn --epochs 1Demonstrate several deep learning algorithms on CIFAR-10 dataset, which is one of the most popular image classification datasets in the machine learning community. The CIFAR-10 dataset will be automatically downloaded when running any of the examples.
- Multi-Device Multi-Process Training
$ docker run --gpus all -w /home/nnabla/examples/cifar10-100-collection ${image} mpirun -n 4 python3 classification.py --context "cudnn" -b 64
Utils Frequently used
-
- Handly utils manipulating h5 and nnp
Additional Information
Github repositories
- Neural Network Libraries: Github repository for Neural Network Libraries.
- Neural Network Libraries - CUDA extension: An extension library of Neural Network Libraries that allows users to speed-up the computation on CUDA-capable GPUs.
- Neural Network Libraries - Examples: Working examples of Neural Network Libraries from basic to state-of-the-art.
- Neural Network Libraries - C Runtime: Runtime library for inference Neural Network created by Neural Network Libraries.
- Neural Network Console: A Windows GUI app for neural network development.
Known Issues
None
Technical Support
See official website community
Release Roadmap
Major components releases in the container, find their release dates and changelogs through the links: