I released Gorgonia on Thursday. Gorgonia is a library like Theano or TensorFlow, but mainly written in Go. It provides the necessary primitives for creating and executing neural networks and machine learning algorithms.
According to cloc, these are the stats:
chewxy@chewxy-Gallifrey:~/workspace/goworkspace7/src/github.com/chewxy/gorgonia$ cloc .
357 text files.
321 unique files.
604 files ignored.
http://cloc.sourceforge.net v 1.60 T=0.83 s (296.5 files/s, 55471.5 lines/s)
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Go 219 6308 3924 30858
Assembly 22 585 740 2128
C/C++ Header 2 55 57 666
C 2 17 39 458
-------------------------------------------------------------------------------
SUM: 245 6965 4760 34110
-------------------------------------------------------------------------------
So, it’s a pretty huge library. But the original version is about 80,000 LoC (though most of the lines of codes were different experimental variations of assembly code). I managed to cut down 50,000 LoC to something more manageable. In this post I want to outline the release of Gorgonia, and share some of the reasoning regarding the design of the library, as well as go thru some of the weirdness found in the library.
If you’re interested, here’s the video (otherwise, skip to the meat):
And here are the slides:
[Read More]