Giter Club home page Giter Club logo

dumbnet's Introduction

DumbNet

A Neural Network library that does not make use of allocations or the standard library at all. It does all its work on the stack.

This has some advantages:

Embedded

Embedded devices without any operating system are now able to run at least simple neural networks.

Compile-Time checks

Since the whole network layout needs to be known at compile time the dimensions of inputs and outputs are checked.

Easy to get started

No need for OpenCL or CUDA, it just runs on your CPU. Or basically any other CPU for that matter.

Optimization

The whole network being known to the compiler might enable some optimizations. That said the library is currently not very well optimized.

Also it was a fun challenge and actually worked out :)

Check the examples directory for some simple networks to get started.

Plans

  • a convolutional layer would be nice
  • think about the library design, specifically Layer might be too coarse of a trait, sub-layers may be useful.
    • unify SoftMax and other layers
  • better optimization
  • ! move to less horrible generics
  • figure out how to use less type parameters

1.0 Statement

This crate will be 1.0 if it has the tools to detect handwriting and is kinda easy to use.

Contributing

Please symlink the hooks to your local .git/hooks/ directory to run some automatic checks before committing.

ln -s ../../hooks/pre-commit .git/hooks/

Please install rustfmt and cargo-sync-readme so these checks can be run.

rustup component add rustfmt
cargo install cargo-sync-readme

Please execute cargo-sync-readme when you change the top-level-documentation. Please run cargo fmt whenever you change code. If possible configure your editor to do so for you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.