Friday, 11 October 2019

Comparison of Major Machine Learning Related Libraries

TensorFlow (tensorflow.org):
  • Python, auto-differentiation, advanced features (RNN, Conv)
  • C/C++ APIs:            Yes (also JS, Swift)
  • CUDA:                  Yes
  • Distributed computing: Yes
  • Production ready:      Yes
PyTorch - Similar to Torch (pytorch.org):
  • Python, auto-differentiation, advanced features (RNN, Conv)
  • C/C++ APIs:            Yes
  • CUDA:                  Yes
  • Distributed computing: Yes
  • Production ready:      Yes
Chainer - Similar to Torch (chainer.org):
  • Python, auto-differentiation, advanced features (RNN, Conv)
  • C/C++ APIs:            Yes (Unstable)
  • CUDA:                  Yes
  • Distributed computing: Yes
  • Production ready:      Yes
CNTK:
  • A competitive ML lib from Microsoft.
Keras:
  • High-level APIs only, interface for TensorFlow, CNTK, etc.
  • No longer in development, ceased since 2017
  • Java-based, not competitive to C/C++-based.
OpenCV:
  • Computer Vision only.
Shogun:
  • High-level APIs only.
Scikit-Learn:
  • No auto-differentiation!
Pandas:
  • No ML built-in, column data processing
NumPy:
  • No ML built-in, N-dimension array processing
SciPy:
  • Math functions
Matplotlib:
  • Data plotting
More to consider:
  • Dlib, Accord.NET, mlpack, DyNet, OpenNN, ML.NET, Sonnet, MXNet, Gluon, DL4J, Onnx, ml.js, brain.js, ConvNet.js, WebDNN, XGBoost, StatsModels, LightGBM, CatBoost, PyBrain, Eli5, fast.ai, TFLearn, Lasagne, nolearn, Elephas, Seaborn, Synaptic, KerasJS, NeuroJS

No comments:

Post a Comment