SystemML is a flexible, scalable machine learning system. SystemML’s distinguishing characteristics are:
- Algorithm customizability via R-like and Python-like languages.
- Multiple execution modes, including Spark MLContext, Spark Batch, Hadoop Batch, Standalone, and JMLC.
- Automatic optimization based on data and cluster characteristics to ensure both efficiency and scalability.
To download SystemML, visit the downloads page.
This version of SystemML supports: Java 8+, Scala 2.11+, Python 2.7/3.5+, Hadoop 2.6+, and Spark 2.1+.
Quick tour of the documentation
- If you are new to SystemML, please refer to the installation guide and try out our sample notebooks
- If you want to invoke one of our pre-implemented algorithms:
- If you want to implement a deep neural network, consider
- Since training a deep neural network is often compute-bound, you may want to enable SystemML’s
- If you want to implement a custom machine learning algorithm and you are familiar with:
- If you want to try out SystemML on your laptop, consider
- Beginner’s Guide For Python Users - Beginner’s Guide for Python users.
- Spark MLContext - Spark MLContext is a programmatic API for running SystemML from Spark via Scala, Python, or Java.
- Spark Batch - Algorithms are automatically optimized to run across Spark clusters.
- Hadoop Batch - Algorithms are automatically optimized when distributed across Hadoop clusters.
- Standalone - Standalone mode allows data scientists to rapidly prototype algorithms on a single machine in R-like and Python-like declarative languages.
- JMLC - Java Machine Learning Connector.
- Deep Learning with SystemML
- Python API Reference - API Reference Guide for Python users.
- DML Language Reference - DML is a high-level R-like declarative language for machine learning.
- PyDML Language Reference - PyDML is a high-level Python-like declarative language for machine learning.
- Beginner’s Guide to DML and PyDML - An introduction to the basics of DML and PyDML.
- Algorithms Reference - The Algorithms Reference describes the machine learning algorithms included with SystemML in detail.
- Debugger Guide - SystemML supports DML script-level debugging through a command-line interface.
- IDE Guide - Useful IDE Guide for Developing SystemML.
- Contributing to SystemML - Describes ways to contribute to SystemML.
- Engine Developer Guide - Guide for internal SystemML engine development.
- Troubleshooting Guide - Troubleshoot various issues related to SystemML.
- Release Process - Description of the SystemML release process.
- Using Native BLAS in SystemML.
- Using GPU backend in SystemML.