hugues31 / newron

Newron is a deep learning library written in Rust.
MIT License
8 stars 1 forks source link

Scope of Project #4

Open ralfbiedert opened 4 years ago

ralfbiedert commented 4 years ago

Hi again,

The reason I found this crate was because I reviewed existing NN crates for our project today (and I was almost inclined to start my own NN implementation today before finding this).

I can see that you just started and it might be too early to ask for these, but it would be nice if the README talked a bit about your vision how you'd weigh some design considerations.

For example I would be interested in comments about:

That would allow possible contributors to decide whether it aligns with theirs, and what to aim for when submitting PRs or tickets.

hugues31 commented 4 years ago

Hello @ralfbiedert,

Newron is a side-project with @blhelias. We are not sure about the scope of this project yet.

We want to implement basic neural network structures such as CNN and RNN. It will run on CPU first in a mono-threaded fashion, but I do research about efficient implementation for GPU computing for a next goal.

We will tend to use as few dependencies as possible as this project is also a great learning tool for us. We are not sure about the ndarray/nalgebra yet and we may start a sub-module dedicated to tensor computation. I'm a bit afraid this task will be hard as Rust is not the greatest tool to use for recursive data-structure (lifetime problem) so we must do research on how to implement autograd in an efficient manner.

I'm also not a fan of the unsafe keyword and keep avoiding it as much as possible. However, the project is so young that we are not sure if above statements will remain true in the foreseeable future.

If you have any hint about recent DL framework implementation or other ideas, you are very welcome to share here :)