Few weeks ago as I’ve got enough free time I decided to come back to learning Rust. Actually, I want to kill three birds by one shot (learn Rust, learn Deep Learning, and implement master’s diploma project). So, I passionately developed NeuroFlow for several days without any hint on sleeping and now there is something that can be shown to people.
This way, I want to introduce deep learning Rust crate NeuroFlow for your judgment.
In current state, the crate allows you to use feed forward neural network; save it to file; or train the network by data stored in csv format. In further development I want to move more to Natural Language Processing areas and make this library to be more compatible with web applications. And speed everything up as much as possible.
I’ll be glad if you find something useful for you there or if you tell me about my mistakes; or even gladder if you want to participate in the development.
Shameless Self Advertisement: did you hear about juice? It attempts to do be backend agnostic and features a modularized concept currently focused on cudnn with a soon(-ish) to come OpenCL implementation
For your thesis this might be well suited, but there is not much to gain without GPU/FPGA/ASIC backed acceleration.
I'll try to look into it and give you some feedback if you'd like
You should never write your own code for matrix/vector multiplication. Call something, which does it faster (like BLAS, or some linear algebra crate).
And also keep in mind, that if you want to have neural nets crate successful, you need:
flexibility of architectures (CNNs, RNNs, sequence to sequence, combinations or all of them, ...). Which usually means doing something like tensorflow, cntk, theano, ... are doing.
The most activity in the last months was cleaning up / merging all pending PRs and getting CI mostly focues around the backend of juice, namely coaster. I will publish the roadmap for 2018 later this month.