6 ms·
To the author : What else do I need to know besides basic python and algebra? Since I am not a python programmer, can I translate the theories into other langua
by iamcreasy 10y ago
To the author : What else do I need to know besides basic python and algebra? Since I am not a python programmer, can I translate the theories into other languages easily?
- williamtrask 10y agoHmm, you certainly can, but many of the intuitions come from reading little bits of python code. It's intuitive but I'd recommend doing a python tutorial first.
- flukus 10y agoIn a similar vein, is it using python specific libraries or would the examples be easily portable to other languages?
- ylk 10y agoNot the author, but in the blog post he says he's using [numpy](http://www.numpy.org/ http://www.numpy.org/). With google you might find similar libraries for the language you want to use, with a quick search I just found a quora post with a few similar libraries listed for C++.
- ausjke 10y agowhat are those libraries? Thanks.
- oelmekki 10y agoI've been learning about neural networks lately and implemented mines in golang. The biggest problem I had was that python is not chosen randomly: neural networks scientists use it because of numpy. Most importantly, numpy makes it really easy to deal with matrices (~ array of arrays). You just make operations on them as if they were classic numbers (so, you can do `a + b`, where both a and b are matrices). While translating it into other languages not having numpy is indeed possible, expect a bit of intellectual gymnastic. I don't know which language you targeted, but for those who wish to use golang, I made this matrix library: https://github.com/oelmekki/matrix https://github.com/oelmekki/matrix EDIT: oh, btw. I'm initially a ruby dev. I've learnt python just enough to be able to understand NNs code, that was easy (took me an afternoon). I won't pretend this makes me a python developer, but learning just enough to translate code in an other langage is straightforward.
- iamcreasy 10y agoI plan to use Java since that's what I am mostly familiar with. I googled a bit and I think there are couple[1] of Java libraries to handle n dimensional array. Lets hope it will work out. [1] http://nd4j.org/ http://nd4j.org/
- oelmekki 10y agoIt seems like nd4j has everything you need. Just remember, when seeing calls to the `np.dot()` function in python's numpy that it is the "dot product" operation on matrix, which is also known as standard mathematical matrix multiplication, which in turn nd4j is calling `mmul` ("matrix multiplication", in "Linear Algebra Operations" section). When numpy is using the * operator between two matrices, it basically just does a cell by cell multiplication ie: result_matrix[x][y] = matrix1[x][y] * matrix2[x][y]