What about Spark MLlib? http://spark.apache.org/mllib/
Top Deep Learning Projects
31–36 of 36 posts
Re: Top Deep Learning Projects
#32I wander how many people still implement their own networks as opposed to use these prepared frameworks. Or do you guys stick to single framework or use some sort of mixture of tools?
Re: Top Deep Learning Projects
#33Re: Top Deep Learning Projects
#34A few comments on some of these projects: Keras is pretty much the best way to do almost anything these days. If you are starting out learning, use ConvNet JS, but after that switch to Keras. TFLearn is really nice if you are already using Scikit. There's lot of frameworks on there: TensorFlow, Caffe, CNTK (that's a lot of stars for something no one outside MS uses!) Theano, Torch etc. But I think the sleeper there i…
Re: Top Deep Learning Projects
#35Earlier quoted context omitted.
I ported ConvNet JS to C# in order to really understand what's going on: https://github.com/cbovar/ConvNetSharp
Brilliant, I've been looking for projects like this. I'm currently working through a couple of RBM C# projects but will add this to my list of reference code. Top tip: If you use the matrix and vector classes in math.net then you can optionally configure it to use optimised version of e.g. matrix multiplication, that map through to one of the providers, such as Intel Math Kernel Lib, OpenBLAS, and I think there's a C…
Most of the time is usually spent in the convolution layers. Convolution is not a matrix multiplication in the current implementation. I guess it would be a matrix multiplication in frequency domain or by using a Toeplitz matrix.
I've implemented a CPU Parallel version and gave a try at GPU implementation. But I'm not satisfied at all by the GPU version :)
https://github.com/cbovar/ConvNetSharp/blob/master/src/ConvN...
https://github.com/cbovar/ConvNetSharp/blob/Gpu/src/ConvNetS...
Pull requests more than welcome!
Re: Top Deep Learning Projects
#36Earlier quoted context omitted.
Brilliant, I've been looking for projects like this. I'm currently working through a couple of RBM C# projects but will add this to my list of reference code. Top tip: If you use the matrix and vector classes in math.net then you can optionally configure it to use optimised version of e.g. matrix multiplication, that map through to one of the providers, such as Intel Math Kernel Lib, OpenBLAS, and I think there's a C…
Thanks for the tip. I'll see where I can apply it. Most of the time is usually spent in the convolution layers. Convolution is not a matrix multiplication in the current implementation. I guess it would be a matrix multiplication in frequency domain or by using a Toeplitz matrix. I've implemented a CPU Parallel version and gave a try at GPU implementation. But I'm not satisfied at all by the GPU version :) https://gi…
I figure there's a code re-organisation task since propagating node activations through a layer of weights is essentially a matrix multiplication (fully connected => fully dense matrix).
The optimised routines make use of vectorised CPU instructions and the FMA instruction (fused multiply and add), all of which are perfect fits for [dense] matrix multiplcation. Not so great for sparse matrices, but they help, usually unless it's very sparse it's faster to use a dense matrix format with zeros for the missing weights.
> Pull requests more than welcome!
Duly noted :)