I am creating a framework for Deep Learning.
The network is described by macros as follows.
defnetwork init_network2(_x) do
_x |> f(5,5) |> flatten
|> w(576,100) |> b(100) |> sigmoid
|> w(100,10) |> b(10) |> sigmoid
end
Process backpropagation in parallel.
In the future, we will introduce Hastega as a GPU-based engine.
GitHub
https://github.com/sasagawa888/DeepLearning
13 Likes
This is really cool.
I was wondering did you check out/compare different matrix related Elixir libs?
Quick research resulted in finding this interesting one at github /a115/exmatrix (I can’t post links to github :O)
Cool thing about it is that it’s “implementing a parallel matrix multiplication” which improves speed almost quadratically.
Ps. Some non-PhD-required type of description would be great as well 
2 Likes
What an awesome representation of the underlying operations.
Pipelines are such an idiomatic way to represent neural nets.
Nit comment: any reason the _x has to be underscored? Something to do with the way the macros work I’m guessing?
1 Like
Thank you for reply.
Underbar like _x is for avoiding compiler warnings. Also works as x.
1 Like
We are considering using CBLAS with the Matrex library to achieve practical speed.
https://github.com/versilov/matrex
4 Likes
I replaced the matrix calculation with the fast Matrex module.
I would like to thank the author, Mr. Versilov.
6 Likes