18 Machine Learning Platforms For Developers
18 Machine Learning Platforms For Developers
The following machine learning platforms and tools are available now as resources to seamlessly integrate the power of ML into daily tasks.
Join the DZone community and get the full member experience.Join For Free
The most visionary programmers today dream of what a robot could do, just like their counterparts in 1976 dreamed of what personal computers could do. Read more on MistyRobotics.com and enter to win your own Misty.
Machine learning platforms are not the wave of the future. It's happening now. Developers need to know how and when to harness their power. Working within the ML landscape while using the right tools like Filestack can make it easier for developers to create a productive algorithm that taps into its power. The following machine learning platforms and tools — listed in no certain order — are available now as resources to seamlessly integrate the power of ML into daily tasks.
H2O was designed for the Python, R, and Java programming languages by H2O.ai. By using these familiar languages, this open source software makes it easy for developers to apply both predictive analytics and machine learning to a variety of situations. Available on Mac, Windows, and Linux operating systems, H2O provides developers with the tools they need to analyze data sets in the Apache Hadoop file systems as well as those in the cloud.
Developers who are looking for an open-source stack that also has an open-source server for machine learning built on top of it should take a look at Apache PredictionIO as a way to build predictive engines that can meet any artificial intelligence task. In addition to the event server and the platform itself, Apache PredictionIO also includes a template gallery.
Eclipse Deeplearning4j is an open-source library built for the Java Virtual Machine. With deep learning as its core, this tool is aimed at those developers who need to build deep neural networks within business environments that work on distributed CPUs and GPUs. Scala, Clojure, and Java programmers who work with file systems like Hadoop and who have a DIY bent will appreciate Eclipse Deeplearning4j. Paid support and enterprise distribution are available for this tool, which is a project of the San Francisco-based company Skymind.
Image and audio processing libraries are written in the C# programming language and then combined with the Accord.NET framework. Within it, developers can create a range of apps for commercial use that rely on machine learning such as computer vision, signal processing, pattern recognition, and machine listening, which is also known as computer audition. With multiple options to choose from, developers can utilize image and signal processing, scientific computing, and support libraries. Robust features such as real-time face detection, natural learning algorithms, and more add to the versatility of this framework.
During the Ignite conference in September 2017, Microsoft launched three Azure machine learning tools — the Learning Bench, the Learning Model Management service, and the Learning Experimentation service — that allow developers to build their own artificial intelligence models. Three AI tools, Content Moderator, Custom Speech Service, and Bing Speech APIs, were also launched by Microsoft to add to its library of 25 developers' tools that are designed to increase the accessibility of AI.
Developers can create intelligent assistants that are applicable to nearly any software application by using ai-one. This tool's list of resources includes developer APIs, a document library, and building agents that can be used to turn data into rule sets that support ML and AI structures.
IBM's Watson platform is where both business users and developers can find a range of AI tools. Users of the platform can build virtual agents, cognitive search engines, and chatbots with the use of starter kits, sample code, and other tools that can be accessed via open APIs.
With the Lua programming language as its base, Torch includes a scripting language, a scientific computing framework, and an open-source ML library. Torch supports deep machine learning through an array of algorithms and has been used by DeepMind and the Facebook AI Research Group.
At first blush, it might appear that Protege's focus on enterprises leaves little room for anything else. However, developers can take advantage of Protege's open source tool suite that provides robust app tools for experts and knowledgeable beginners alike. Both groups of developers can modify, create, share, and upload apps as well as take advantage of a supportive community.
Specifically designed for use in projects that rely on machine learning, TensorFlow has the added benefit of being a platform designed using open source software. Aided by a plethora of online resources, documentation, and tutorials, TensorFlow provides a library that contains data flow graphs in the form of numerical computation. The purpose of this approach is that it allows developers to launch frameworks of deep learning across multiple devices including mobile, tablets, and desktops.
DiffBlue is that rather rare developer tool that's an extremely useful yet simple platform dedicated to code automation. DiffBlue has several core purposes — test writing, bug location, refactor code, and the ability to discover and replace weaknesses — that are all accomplished with the use of automation.
The brainchild of Intel and Nervana, Neon is an ML library that is based on Python and is open source to boot. Developers that utilize its tools can take advantage of technologically advanced apps and intelligent agents. Housed within the cloud, Neon supports developers as they launch, build, and train deep learning technologies.
As a framework that contains in-memory data processing, Apache Spark MLlib features an algorithms database with a focus on clustering, collaborative filtering, classification, and regression. Developers can also find Singa, an open-source framework, that contains a programming tool that can be used across numerous machines and their deep learning networks.
A C++ programming library, OpenNN is aimed at those experienced developers who want to implement neural networks. OpenNN includes Neural Designer, a tool that aims to both interpret and simplify data entries with the creation of tables, graphs, and other visual content. Although OpenNN provides its users with an extensive library of tutorials and documentation, it's primarily aimed at those developers who already have lots of AI experience.
Developers can take advantage of a number of AI toolkits offered by Amazon Web Services (AWS), which include Amazon Lex, Amazon Rekognition Image, and Amazon Polly. Each is used in a different way by developers to create ML tools. Amazon Polly, for example, takes advantage of AI to automate the process of translating voice to written text. Amazon Lex forms the basis of the brand's chatbots that are used with its personal assistant, Alexa.
For developers who need to create applications that rely on ML in order to scale, there is Mahout. In addition to resources such as tutorials, Mahout provides beginning developers with the ability to use preconceived algorithms that can then be used with Apache Flink, Apaches Spark, and H2O.
Written in C++ and using Python for node coordination, Veles is Samsung's contribution to the ML landscape. Those developers who already need an API that can be used immediately for data analysis and that is comprised of trained models will find value in Veles.
Caffe was developed by the Berkeley Vision and Learning Center (BVLC) in collaboration with a developer community. It was designed to provide developers with an automatic inspection tool that is based on images. Caffe is used by some of the biggest brands in the world, including Pinterest and Facebook.
Get Started With These Machine Learning Platforms
Developers who are just launching their careers, as well as those who are experts, will find a treasure trove of resources as they work their way through the above list. While some are dependent on a specific programming language, others can be used in a variety of instances including in the cloud. Both software and cloud-based offerings allow developers to take advantage of the benefits of each.
Published at DZone with permission of David Hoffman , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.