Google try water-go language also take the risk of trying machine learning?

Source: Internet
Author: User
Tags theano
This is a creation in Article, where the information may have evolved or changed.

Most people who have used the go language recognize it as a very good productivity tool, and some have summed up the following advantages:

Simple deployment

Good concurrency

Good language design

Good execution performance

There are also many successful projects that have been developed using the go language, including: NSQ, Docker, Packer, Skynet, Doozer, Heka, Cbfs, Tsuru, Groupcache, God, Gor, etc. In view of its successful experience, there are developers who want to use the go language to develop machine learning projects. Now there is good news that there are more and more projects to choose from for machine learning developers who want to use the go language as a development platform, though not much.

Instead of using libraries written in other programming languages (mostly C/S/C + +), developers can now work directly with toolkits written entirely in the go language . The existing machine learning database in other languages has many users and its own culture, but many people are also interested in the convenience of using the Go language tools.

Let's take a look at some of the major go language machine learning projects:

    • Golearn

Golearn is a machine learning library that calls itself " built-in battery " and is definitely one of the preferences.

The author mentions in the project description-- concise, easy customization is the goal that it pursues . The data processing methods used by some interfaces in Golearn and Scikit-learn (a very popular Python machine learning project) are very similar. Users who want to escape from Python should be able to do some short-term work with it. There are also a number of linear model repositories using C + +, but the rest are all written in go language. The Golearn implements a familiar Scikit-learn adaptation/prediction interface that enables rapid predictive testing and switching. Golearn is a mature project that provides cross-validation and training/testing and other ancillary functions.

    • Goml

GOML's self-proclaimed " Online Golang machine learning tool ", according to its developers, "contains a number of tools that allow you to learn the data content of their channels online." "This project is highlighted because it emphasizes the possibility of its being part of other applications, making it easier to build" comprehensive testing, large volumes of documentation, and concise, efficient, modular source code. " But what if you need the knowledge to solve the underlying two-dollar classification problem (is it spam?) ), you might be better off using Hector, the smaller database.

    • Gorgonia

The newest branch (or, to some extent, the most interesting) is Gorgonia.

This machine learning library is written entirely in go language, and its developer "CHEWXY" provides the necessary conditions for dynamic building of neural networks and related algorithms . ”

The key is " dynamic ". Like previous machine learning Library Theano, Gorgonia allows you to describe the behavior of a neural network using higher-order terms in a series of original repositories. The TensorFlow database is also used in this way, allowing developers to no longer have to write algorithms themselves or to submit projects that can be reused in different projects.

Why use the Go language to write this machine learning project Gorgonia?

"One of the reasons I wrote Gorgonia was that I spent too much time trying to deploy Theano in the cloud (about two years ago)," the developer said in an interview. ”

summary: a pure Go language solution, which means that fewer parts need to be packaged and blended together from other authoring languages. But the main advantage of having these go language repositories is not the deployment, but the convenience of the developers. Future machine learning developers will have a variety of development languages to choose from, and it also means that today's go language developers can be a little easier if they want to move to a machine learning expert.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.