Hi David,

On Wed, Feb 20, 2019 at 11:24 AM David Njuguna via skunkworks <skunkworks@lists.my.co.ke> wrote:
I spent a good amount of time looking for an ML library  written in Go, with a usable API and with active maintenance and the only framework out there is 
https://github.com/gorgonia/gorgonia which seems tailored to academics need.


ML is by and for academics and Statisticians [0] in particular. It is only starting to get used outside universities now because of the improvements of performance in Computing hardware [1] experienced in the recent past in my opinion. The statistical learning theory methods have been in existence since 1800s [2] though computing power had always been a physical limit to their success.

I wanted a library to embed I could use in a stealth startup I am working on and frankly nothing came close to the quality I was looking for. In particular I wanted something with:

1. Ability to plug in different activation functions.

Scikit learn's (Python) module for Multi-layer perceptron's algorithms supports nearly all possible activation functions [3] available to nodes in an artificial neural network.

2. Takes advantage of Goroutines
3. Ability to import weights from other frameworks(TBD in Therfoo)
4. A high level API like Keras
5. A testable architecture

Have you used any of the libraries you sent?

No, I have not. 

I would like to hear your experience working with any of them.

I have instead used Python ML libraries (Scikit-Learn) for building different models to predict residual values (market prices) of heavy construction equipment using historical data from equipment auctions and resales. All that was part of my research for my M.Sc thesis [4]  

Perhaps I missed something...

If you cannot find an adequate ML library in Go, I would encourage you to go with those available in Python (Theano and / or Scikit-Learn) for your project if that is a feasible option. Perhaps you can deal with performance bottlenecks in future as the application scales up. Or maybe find out how to speed the app using different Python libraries to support multi-threading [5]. Another possibility might be to escape into C-mode in Python for the parts of your program that require high performance. Those are my opinions.


I am dog fooding Therfoo in a personal production product at the moment and love the ability of including ML capabilities with under 20 lines of code.

Thanks for your feedback.

You are welcome David

[0]: R for Statistical computing https://www.r-project.org/
[1]: Yoshua Bengio https://youtu.be/uawLjkSI7Mo
[2]: Least Squares Method of regression analysis https://en.wikipedia.org/wiki/Regression_analysis#History
[5]: Green threads in Python https://greenlet.readthedocs.io/

Hope that helps.

Martin.

On Tue, Feb 19, 2019 at 22:16 Martin Akolo Chiteri via skunkworks <skunkworks@lists.my.co.ke> wrote:
Hi David,

Any specific reason you are implementing the Deep Learning module from Scratch? There are a couple in existence already, probably well executed and tested. Perhaps you could join those projects and work on bug fixes and enhancements instead ....


Good luck in any case.

Martin.

On Mon, Feb 18, 2019 at 12:40 PM David Njuguna via skunkworks <skunkworks@lists.my.co.ke> wrote:
I am currently writing a deep learning Golang module/library - https://github.com/therfoo/therfoo and wondering if anyone here would be open to collaborating on the same?

Kind regards,
David Ndungu

_______________________________________________
skunkworks mailing list
skunkworks@lists.my.co.ke
------------
List info, subscribe/unsubscribe
http://lists.my.co.ke/mailman/listinfo/skunkworks
------------

Skunkworks Rules
http://my.co.ke/phpbb/viewtopic.php?f=24&t=94
------------
Other services @ http://my.co.ke
_______________________________________________
skunkworks mailing list
skunkworks@lists.my.co.ke
------------
List info, subscribe/unsubscribe
http://lists.my.co.ke/mailman/listinfo/skunkworks
------------

Skunkworks Rules
http://my.co.ke/phpbb/viewtopic.php?f=24&t=94
------------
Other services @ http://my.co.ke
_______________________________________________
skunkworks mailing list
skunkworks@lists.my.co.ke
------------
List info, subscribe/unsubscribe
http://lists.my.co.ke/mailman/listinfo/skunkworks
------------

Skunkworks Rules
http://my.co.ke/phpbb/viewtopic.php?f=24&t=94
------------
Other services @ http://my.co.ke