Scalable Online Learning framework created by the LIBOL team at SMU

Project Lead:
Steven HOI
Lead Developer:
Yue Wu

SOL: A Library for Scalable Online Learning

SOL is an open-source library for scalable online learning algorithms, especially for high-dimensional data. It provides a family of regular and sparse online learning algorithms for binary and multi-class classification tasks, and is designed with high efficiency, scalability, portability and extensibility. SOL provides easy-to-use command-line tools, python wrappers and library calls for users and developers, and comprehensive documents. SOL is not only a machine learning toolbox, but also a comprehensive research platform for online learning. SOL is released under the Apache 2.0 open source license.

Why SOL?

Speed. Implemented in C++ and carefully optimized to reduce time and memory cost. We believe SOL is one of the fastest implementations for large-scale online learning available (faster than VW and Liblinear).
Scalability. Data are stored in a sparse structure. All operations are optimized with sparse data structure.
Portability. All codes follow C++11 standard. No dependency on external libraries. Organized by CMake so that users on different platforms can build the library easily. SOL can run on almost every platform.
Extensibility. Extensible code fosters active development. Easy to add new algorithms and new solutions.
Community: Join our LIBOL community on Github for more about Online Learning research.


Citing SOL

Please cite the SOL technical report in your publications if it helps your research:

  Author = {Yue Wu, Steven C.H. Hoi, Chenghao Liu, Jing Lu, Doyen Sahoo, Nenghai Yu},
  Journal = {SMU Technical Report (SMU-TR-2016-10-27)},
  Title = {SOL: A Library for Scalable Online Learning Algorithms},
  Year = {2016}

Contact Us

Contact us if you have any question: Steven Hoi


The work was done when the co- author Wu Yue visited Dr Hoi's research group.