Machine and Deep Learning SDKs, Tools, Frameworks and Systems

We’ve seen the rise of multiple big data solutions in the past few years. Building on top of the volume, variety and velocity of data, we’ve seen the growing need for automating business decisions based on the knowledge coming from online systems, sensors and connected devices. In order to take advantage of this wealth of data we’re seeing the rapid rise of a wide range of machine and deep learning SDKs, tools, frameworks, systems, services, and libraries. This blog post highlights some of the available machine learning and deep learning SDKs available from leading platform vendors, hardware vendors, researchers, and open source projects. It’s a great time to be a software engineer and to have all of these technologies provided by developer relations programs.

Machine and Deep Learning SDKs

 

Machine and Deep Learning SDKs

Here are a few of the many machine learning and deep learning SDKs, tools, frameworks, systems, services, and libraries that are available for developers to use in their cognition-based, big data driven applications. I’ve divided the list up into services/systems, frameworks, libraries and tools (although the distinctions are arbitrary as some provide both a service along with an API, SDK or framework).
16631224-Abstract-word-cloud-for-Machine-learning-with-related-tags-and-terms-Stock-Photo  deep learning tag cloud

Services/Systems

Frameworks

Libraries

Tools/SDKs

Machine Learning Courses

 

Evans Data’s AI and Big Data Developer Research Report 2016 V2

This report focuses on tools, methodologies, and concerns related to implementing machine learning, deep learning, image recognition, pattern recognition and other forms of artificial intelligence as well as efficiently storing, handling, and analyzing large datasets and databases from a wide range of sources. Artificial intelligence is permeating software development in many ways and many industries, which necessitates a thorough knowledge of how developers are doing this. Big Data, often related, is also becoming a reality for more and more companies; this report provides valuable insight into developer opinions on these topics.

This volume includes research and analysis covering topics such as Perceptions of the AI and Big Data Landscapes, AI & Big Data Developer Demographics, Decision-Making for AI & Big Data, Barriers and Challenges for Data Analytics, AI Concept and Approaches, Conversational Systems & Virtual Assistants, Real-Time Events & Time Series Processing, Big Data & IoT, Collaboration in Big Data & Data Science, Advanced Analytics Tools and Services, Databases & Data Warehousing, Hadoop, Parallelism & Big Data, Operating Systems & Languages, and Tools Used for AI & Big Data.

You can take a look at the AI and Big Data Developer Research report table of contents and sample report pages at http://www.evansdata.com/reports/viewRelease.php?reportID=37

Does your Developer Relations Program provide a Machine or Deep Learning SDK, Tool, Library, Framework or Service?

If you’re looking for additional Machine Learning frameworks, libraries, and software you can check out the “Awesome Machine Learning” curated list of resources on GitHub. You’ll find additional resources for a wide range of programming languages.

Would it be cool if your developer relations program used AI to support your community members? Using AI and bot technology to answer common questions or point developers in the right direction?

Am I missing a machine learning or deep learning library, framework, SDK, tool, service, system or API that your developer relations program provides?  Send me an email if I am missing one or more.

David I Facebook Avatar

David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://www.devrelate.com/blog/
Skype: davidi99
Twitter: @davidi99

 

If your API supports REST and JSON then you can Reach out to Every Developer

If your developer APIs support web services based on REST and JSON then you can reach out to just about every developer on the planet Earth (21 million of them and counting). The acronym REST stands for REpresentational State Transfer. JSON is JavaScript Object Notation. REST and JSON are the defacto standard for HTTP/HTTPS based web services APIs. RESTful Web Services are provided in just about all of the Internet based developer program APIs. REST was originally defined in Roy Thomas Fielding’s UC Irvine Doctoral Dissertation titled “Architectural Styles and the Design of Network-based Software Architectures“. Fielding is now a Senior Principal Scientist at Adobe Systems in Orange County California.

 

REST and JSON

 

Do you use REST and JSON in your APIs?

When I do an assessment of a developer relations program one of the first things I look at are the SDKs, APIs and programming languages that are supported. Most developer programs with REST and JSON web service APIs list support for popular programming languages including Java, C#, C, C++, Python, JavaScript, Ruby and PHP. The VISA Developer Center, for example, has a “Getting Started Guide” that lets you choose to view sample source code for Java, Python, Node.Js, Ruby, C# and PHP right in place inside the guide. Developers can copy and paste the code snippets into their programs.

Besides the languages I just listed, there are many other programming languages that also support REST and JSON web services. Why would you intentionally block out developer program members that use other programming languages and frameworks? Here are some programming languages (not an exhaustive list) that have libraries that support REST and JSON based web services. I have added links to documentation, blog posts, tutorials and articles showing how to create client applications that call REST APIs.

If I have not listed your favorite programming language and the support for REST and JSON based API calls, please send me an email with the language and a URL to an article or documentation page with an example.

Reach out to Developers without having to Document your APIs for every language

If you don’t want to have to support every programming language and have examples, you can still document your Web Services REST endpoints and JSON parameters and return values and then point developers to programming language REST and JSON how to sites. I want to hear from developer program professionals that are supporting additional programming languages for your APIs.

David I Facebook Avatar
David Intersimone “David I”
Vice President of Developer Communities
Evans Data Corporation
davidi@evansdata.com
Blog: https://www.devrelate.com/blog/
Skype: davidi99
Twitter: @davidi99

 

Which programming language(s) should your developer platform support?

Depending on the products and services your company provides that are supported by your developer relations program, you will find a large number (or a short list) of programming language you should consider. Of course, you can’t always support every programming language that developers might want to use. Each language choose to support will come with costs including: API interfaces and documentation, source code examples, articles and videos to create, developer tools to test with, developer support, training and more. At the same time, supporting more languages can also extend the developer reach for your company resulting in increased revenue and reputation.

So, how do you decide which programming languages to support? You can look inside your own company, review the Evans Data developer surveys, check out programming language popularity sites, see what developer positions are listed on job boards, look at the programming language popularity on Stack Overflow, searching GitHub projects, factor in the leading platforms and technologies, search for what the top computer science and software engineering schools are teaching and read what tech industry luminaries, bloggers and press write about. If that isn’t enough sources for guidance, you can also use dart and Ouija boards, magic 8-ball and D&D dice (just kidding).

Programming Language(s) Popularity

Here are a few places where you can find information about popular programming languages and programming language rankings.

You Can Support any Programming Language if …

A great benefit of using industry standards for APIs, REST/JSON for example, is that just about every programming language in use today can make REST calls and pass parameters and receive results using JSON. If you are using SOAP, CORBA or some other RPC (probably for legacy systems), you should defintely add support for REST and JSON. Some companies are also exploring the use of Apache Thrift and GraphQL for some of their service APIs. If you interested in microservices for your developer platforms, check out this article “Microservice Showdown – REST vs SOAP vs Apache Thrift (And Why It Matters)“. Also check out this recent article about GitHub adding a GraphQL API “Just Because Github Has a GraphQL API Doesn’t Mean You Should Too“.

Let me know what Programming Language(s) your developer program supports

What programming languages do you support for your developer program and platform? Send me an email!

David I.

davidi@evansdata.com

Twitter: @davidi99