Skip to main content

The deep learning metaframework

Project description

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...


Using pip: 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

Supported Frameworks

  • Tensorflow
  • Pytorch
  • Caffe2


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.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deep500-0.2.0.tar.gz (118.8 kB view hashes)

Uploaded Source

Built Distribution

deep500-0.2.0-py3-none-any.whl (213.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page