Skip to content

Shr1ftyy/smolgrad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

a smol nn lib written in C w/ a scalar valued autograd engine

include the header file from src/NN.h and you're set (⌐■_■)

What you got bro?

  • Reverse-mode automatic differentiation over a dynamically built DAG.
  • DAG operates over scalar values
  • Scalar values implemented via Value
typedef struct Value {
  double val; // double value
  struct Value** children; // array of pointers to child values
  double* local_grads; // accompanying local grads
  int n_children;
} Value;
  • Scalar Ops on Two Values (add, mul, sub, sigmoid, etc.)
  • Tensor/Matrix/Vector Ops (coming soon)
  • Wrappers for NN stuff (coming soon)

TODO:
🟡 = in progress, 🟢 = done

  • 🟢 write tests for scalar ops
  • 🟡 implement backprop
  • implement tensor ops

About

smol nn lib written in C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published