The deep learning metaframework
Deep500: A Deep Learning Meta-Framework and HPC Benchmarking Library
(or: 500 ways to train deep neural networks)
Deep500 is a library that can be used to customize and measure anything with deep neural networks, using a clean, high-performant, and simple interface. Deep500 includes four levels of abstraction: (L0) Operators (layers); (L1) Network Evaluation; (L2) Training; and (L3) Distributed Training.
Using Deep500, you automatically gain:
- Operator validation, including gradient checking for backpropagation
- Statistically-accurate performance benchmarks and plots
- High-performance integration with popular deep learning frameworks (see Supported Frameworks below)
- Running your operator/framework/optimizer/communicator/... with real workloads, alongside existing environments
- and much more...
pip install deep500
See the tutorials.
- Python 3.5 or later
- Protobuf (
sudo apt-get install protobuf-compiler libprotoc-dev)
- For plotted metrics: matplotlib
- For distributed optimization:
- Any MPI implementation (OpenMPI, MPICH, MVAPICH etc.)
- mpi4py Python package
Deep500 is an open-source, community driven project. We are happy to accept Pull Requests with your contributions!
Deep500 is published under the New BSD license, see LICENSE.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.