What is the best self-learning tool

Artificial Intelligence

Developers who deal with the topic of artificial intelligence and machine learning can, for example, write apps for better speech recognition or take their self-developed applications to a new level. This article gives an overview of some of the most popular open source solutions.

Developers can use the experience of software giants such as Google or Facebook to equip their own apps with artificial intelligence. The frameworks work together with the most current development environments and programming languages. In most cases, no new knowledge is necessary to make your own apps more effective and intelligent.

Open Neural Network Exchange

With Open Neural Network Exchange (ONNX), developers can exchange their AI models with one another. The platform belongs to the LF AI Foundation, a sub-organization of the Linux Foundation. The organization works with Microsoft, Amazon, Facebook and many other companies. The models from ONNX can be used in MXNet, PyTorch, OpenCV and other applications and platforms. Models can also be exchanged between different platforms via interfaces.

ONNX.js is also available on the platform. This is a JavaScript library that can be used to run ONNX models. The library also works with Node.js, among others. ONNX defines a common set of operators and a common file format that allows AI developers to use models with numerous frameworks, tools, runtimes, and compilers.

Apache MXNet

Apache MXNet is an open source framework for deep learning. With MXNet, neural networks can be trained and made available. The framework is very flexible and supports numerous programming languages. These include C ++, Python, Java, Julia, Matlab, JavaScript, Go, R, Scala, Perl and Wolfram. The MXNet library can also be used on cloud platforms such as Amazon AWS or Microsoft Azure.


With OpenCV, applications in the AI ​​field can be developed on the basis of open source software. The focal points include, for example, face recognition and 3D programs. The system can be used, for example, for human-computer interaction (HCI) and in robotics. OpenCV can also read and process data from deep learning frameworks. For example, TensorFlow, Torch, Darknet and models in ONNX format are supported.


With Cortx, Seagate offers open source software for object storage systems. This means that data can be stored much better in AI environments than with conventional storage technologies. Working with AI generates large amounts of data that have to be written and read quickly at the same time. Object storage can show its strengths here. Cortx is used by Toyota, Fujitsu and the UK Atomic Energy Authority, among others. The software manages storage for AI and ML / DL applications, including TensorFlow. In addition to integration in Seagate products, such as the Seagate Lyve Drive Rack, Cortx can also be used with other storage systems, such as Intel Optane.


With OpenIO, developers have another solution for object storage at their disposal. Big data solutions such as Hadoop and Spark can also be used with OpenIO. A connection to Amazon S3 or OpenStack Swift is also possible. External applications can use the extended storage functions via a native REST / HTTP API. There are also APIs for Python, C / C ++ and Java. The source code is available on GitHub.


MinIO is another open source object storage solution. The solution is one of the most popular object stores for container environments with Kubernetes and offers Amazon S3 compatibility.

Caffe2 / PyTorch

The deep learning framework Caffe was originally developed at the University of California. The project is now part of the PyTorch machine learning library. The software is based on the popular Python programming language. This is also preferred for the development of AI / ML systems.

In addition to the functions of Caffe, numerous other functions are integrated with PyTorch, with which machine and deep learning systems can be used more effectively. As originally at Caffe, GPUs are also used to calculate data, for example from Nvidia. With PyTorch, neural networks can be built. Libraries such as NumPy, SciPy or Cython can be used together with PyTorch.