Apache MXNet is an open source multi-language machine learning (ML) library especially to train and deploy deep neural networks, on a wide array of devices. Once embedded in the host language, it blends declarative symbolic expression with imperative tensor computation. It is built on a dynamic dependency scheduler that automatically parallelizes both symbolic and imperative operations on the fly. A graph optimization layer on top of that makes symbolic execution fast and memory efficient.
Apache SystemML is a machine learning system with support for Java 8+, Scala 2.11+, Python 2.7/3.5+, Hadoop 2.6+, and Spark 2.1+. It provides a workplace for machine learning using big data. As It runs on top of Apache Spark, it automatically scales data, line by line, determining whether the code should be run on the driver or an Apache Spark cluster. Future releases may include additional deep learning with GPU capabilities such as importing and running neural network architectures and pre-trained models for training.
Caffe (Convolutional Architecture for Fast Feature Embedding) is a deep learning framework, originally developed at University of California, Berkeley. Caffe is a deep learning framework made with expression, speed, and modularity in mind. It is developed by Berkeley AI Research (BAIR) and by community contributors. Yangqing Jia created the project during his PhD at UC Berkeley. - Official website Caffe allows switching between CPU and GPU by setting a single flag.
Eclipse Deeplearning4j is a deep learning programming library written for Java and Scala and a computing framework with wide support for deep learning algorithms. There are a lot of knobs to turn when you’re training a distributed deep-learning network. We’ve done our best to explain them, so that Eclipse Deeplearning4j can serve as a DIY tool for Java, Scala and Clojure programmers working on Hadoop and other file systems. - Official website See Apache Hadoop.
OpenNN (Open Neural Networks Library) implements neural networks, a main area of deep learning research. OpenNN implements data mining methods as a bundle of functions. It allows embedding functions in other software tools using an ‘Application Programming Interface (API)’ for the interaction between the software tool and the predictive analytics tasks. A graphical user interface (GUI) is still missing, but some functions can support the integration of specific visualization tools.
PyTorch is an open-source machine learning library for Python, based on Torch, used for applications such as natural language processing. One can also reuse Python packages such as NumPy, SciPy and Cython to extend PyTorch when needed. PyTorch provides two high-level features: Tensor computation (like NumPy) with strong GPU acceleration Deep neural networks built on a tape-based autodiff system - README.md on GitHub repo Automatic differentiation is done with a tape-based system at both a functional and neural network layer level.
TensorFlow is an open source software library for high performance numerical computation. Its flexible architecture allows easy deployment of computation across a variety of platforms (CPUs, GPUs, TPUs), and from desktops to clusters of servers to mobile and edge devices. TensorFlow was originally developed by researchers and engineers from the Google Brain team within Google’s AI organization. It comes with strong support for machine learning and deep learning and the flexible numerical computation core is used across many other scientific domains.
The Microsoft Cognitive Toolkit—previously known as CNTK—is an open-source toolkit for commercial-grade distributed deep learning. It describes neural networks as a series of computational steps via a directed graph. The Microsoft Cognitive Toolkit enables to leverage the information within massive data-sets through deep learning by providing scaling, speed, and accuracy with commercial-grade quality and compatibility with the programming languages and algorithms already in use. News I Documentation I FAQ I Blog
Torch is a scientific computing framework with support for machine learning algorithms. It provides N-dimensional arrays, with support for routines for indexing, slicing, transposing, etc. Torch puts GPU first. It has an interface to C via LuaJIT, linear algebra & numeric optimization routines, neural network and energy-based models. It is embeddable, with ports to iOS and Android backends. Documentation I Wiki I Mailing list I Gitter chat
Weka is a collection of machine learning algorithms for data mining tasks. It contains tools for data preparation, classification, regression, clustering, association rules mining, and visualization. - Official website Weka(Waikato Environment for Knowledge Analysis) provides access to deep learning with WekaDeeplearning4j which uses Deeplearning4j. Blog I New Forum I Old Forum I Documentation I Stack Overflow Q&A I Mailing list I Wiki I FAQ I IRC I SourceForge I Package metadata