Tools and frameworks for AI, Machine Learning, and Deep Learning

AI, ML and DL are interconnected, one is a subset of the other or they overlap each other. With more awareness of these technologies and an enormous amount of data being available, the world started huge development in these areas to accomplish tasks using AI, ML, and DL. To support this development, several tools and frameworks were built by various communities allowing advancement in these technologies.

There are various tools and frameworks to support developers, data scientists, and non-programmers, to support different platforms like cloud, desktop, edge devices, and mobile to support interaction between multiple frameworks. A few of them are listed as follows:

Some tools can be used by managers and non-technical people with no programming knowledge.

  • DataRobot is an automated machine learning platform, provides model optimization, parallel processing, and model deployment.
  • Tableau and Datawrapper are popular visualization tools that allow the
    creation of charts, maps, and graphs with minimum effort by using clicks.
  • Rapid Miner is the best data mining tool that allows data preparation, data validation, modeling, and deployment. It supports team collaboration, eases project management, and model deployment.
  • BigML is a machine learning platform that allows classification, clustering, regression, and ensembles.

There are a lot of open-source tools and frameworks that will be used by researchers and many enterprises to develop AI, ML, and DL based applications.

  • Caffe (Convolutional Architecture for Fast Feature Embedding) developed by Berkeley AI Research is an open-source deep learning framework. It is written in C++ programming and provides a Python interface.
  • Deeplearning4j is developed for Java Virtual Machine, is an open-source deep learning framework developed under Apace License 2.0 by a group of researchers in AI-based out of Tokyo and San Francisco.
  • H2O is a deep learning framework designed by H2O.ai that is used to work with data and draw data insights.
  • OpenNN written in C++ programming language is a library used mainly for machine learning research.
  • TensorFlow developed by researchers and engineers of Google is a deep learning framework that is available in many programming languages C++, Java, and Python.
  • Keras developed by Francois Chollet in 2015 is a high-level interface for a deep learning framework.
  • Apple’s CoreML is an open-source framework for use on Apple systems and devices. It allows integration of the machine learning models into iOS, Apple TV, Mac OS, Apple Watch applications.
  • Distributed Machine Learning Toolkit by Microsoft is a deep learning framework useful for implementing machine learning tasks, natural language processing, and performing distributed implementation.
  • MLlib developed by Apache Spark works on platforms like Kubernetes, Hadoop, or Cloud, uses multiple languages Python, R, Java, and Scala.
  • PyTorch is a popular open-source deep learning framework that supports data parallelism, flexibility and contains many pre-trained models.

There are a few frameworks and tools which are useful for specific applications.

  • ONNX was developed from the collaboration of Microsoft and Facebook which allows working on models on different frameworks. It allows models to be trained in one framework and to be transferred to another for inference.
  • MXNet and Gluon are deep learning frameworks that support multiple languages like, C++, Perl, R, Python, Scala, Javascript, Go & Julia.

They can be used with the AWS cloud platform.

Besides these, there are some deep learning frameworks mainly developed to work on mobile, embedded, and edge devices.

  • Caffe2 (Andriod)
  • CoreML (Apple’s iOS)
  • DeepLearningKit (Apple’s iOS)
  • Mobile AI Compute Engine (Andriod, Apple’s iOS)
  • PyTorch Mobile (Android, Apple’s iOS)
  • TensorFlow Lite (Andriod, Apple’s iOS)
  • Oryx2 is used to perform machine learning tasks on a real-time basis. It is built on Apache Kafka and Apache Spark.
  • Accord.Net is a .net-based machine learning framework written in C#.
  • Amazon Machine learning integrates data from multiple sources like RDS, S3, or Redshift. In AWS, there is a service called “Sage Maker” (Amazon SageMaker is a cloud machine-learning platform), which helps in building various ML application models.
  • Google Cloud ML Engine is a deep learning cloud-hosted platform for building machine learning and deep learning models.

Note: A single tool or framework may not provide all the benefits required for a purpose, it can be selected based on flexibility, open-source support, speed, platform support, language support, device support, and environment support.

Hope this was helpful.