Commit Graph

246 Commits

Author SHA1 Message Date
Nathaniel Simard d369388036
Refactor/reshape (#72) 2022-11-05 20:49:44 -04:00
Nathaniel Simard e6541298b9
refactor: transpose (#71) 2022-11-05 20:18:31 -04:00
Nathaniel Simard ad23898d23
refactor: neg-ops (#70) 2022-11-05 17:19:04 -04:00
Nathaniel Simard 94b0283bac
refactor: matmul-ops (#69) 2022-11-05 16:29:52 -04:00
Nathaniel Simard 10d1c13c88
refactor/div-ops (#68) 2022-11-05 16:13:55 -04:00
Nathaniel Simard ee61e843a5
refactor/mul-ops (#67) 2022-11-05 14:21:52 -04:00
Nathaniel Simard 2bdad6fa00
refactor: sub ops (#66) 2022-11-05 10:00:52 -04:00
Nathaniel Simard 0f4c1e4c3e
refactor: add ops (#65) 2022-11-01 20:59:31 -04:00
Nathaniel Simard 0c4c657854
feat: repeat (#63) 2022-10-24 18:25:53 -04:00
Nathaniel Simard a78886d51e
Feat/arange (#62) 2022-10-23 10:32:44 -04:00
Nathaniel Simard 847243ddae
Feat/embedding (#61) 2022-10-23 10:18:35 -04:00
Nathaniel Simard b1df39e7fc
Refactor/device ops (#60) 2022-10-21 11:36:51 -04:00
Nathaniel Simard 0e1b0accd6
Refactor/tensor ops (#58) 2022-10-16 12:52:38 -04:00
Nathaniel Simard 72e44336b5
Refactor/ad backend decorator (#57) 2022-10-13 21:33:40 -04:00
nathaniel 31d512ed8f fix: dataset + optim 2022-10-10 11:09:09 -04:00
Nathaniel Simard f2f4fa8a92
Add swap dims (#56) 2022-10-08 11:54:53 -04:00
Nathaniel Simard aee55f1db3
Doc/readme (#55)
* doc: readme

* update

* update repository
2022-10-06 17:44:04 -04:00
Nathaniel Simard 7389ef20b0
Doc/burn (#54) 2022-10-04 20:30:03 -04:00
Nathaniel Simard 60cd30a768
feat: easier scalar API (#46) 2022-09-25 11:58:37 -04:00
Nathaniel Simard fe5ed0dbb5
Feat/gelu (#45) 2022-09-24 13:08:08 -04:00
Nathaniel Simard a84df25d40
Feat/erf (#44) 2022-09-24 12:32:58 -04:00
Nathaniel Simard 11259488b4
feat: handle seed with backend (#41) 2022-09-20 20:09:06 -04:00
Nathaniel Simard b9f833767f
Feat/optim (#37) 2022-09-18 12:42:19 -04:00
Nathaniel Simard 2e29e82faf
Feat/dropout (#36) 2022-09-16 20:46:25 -04:00
Nathaniel Simard 48e0fbd4f7
Feat/layer norm (#35) 2022-09-15 20:13:58 -04:00
Nathaniel Simard 8c21cf11d8
Chore/clippy (#34) 2022-09-12 20:14:28 -04:00
Nathaniel Simard bffc543adc
Feat/variance (#33) 2022-09-11 13:01:24 -04:00
Nathaniel Simard d0b581a919
Add docs to the Tensor struct (#31) 2022-09-09 18:10:25 -04:00
Nathaniel Simard 823f28c2b9
Fix README (#30) 2022-09-04 21:29:34 -04:00
Nathaniel Simard bd36023b06
Update projects (#29) 2022-09-04 14:22:56 -04:00
Nathaniel Simard 548a1be488
Refactor/burn tensor (#28) 2022-09-03 12:51:38 -04:00
Nathaniel Simard 1ff11e537a
Feat/save load (#27) 2022-09-01 20:31:45 -04:00
Nathaniel Simard 674e078a85
Feat/inner module (#26) 2022-08-30 18:05:42 -04:00
nathaniel 2c4288d536 fix integer backend 2022-08-27 11:34:53 -04:00
nathaniel 9ed252755c chore: cleanup 2022-08-26 18:38:16 -04:00
Nathaniel Simard 8da87b376d
Feat/use index assign for cat (#24) 2022-08-26 15:41:29 -04:00
Nathaniel Simard d62f2b09ad
Feat/argmax (#22) 2022-08-23 13:57:30 -04:00
nathaniel bad608e72c feat: supervised trainer 2022-08-22 19:54:33 -04:00
Nathaniel Simard 7675ca0776
Feat/mix precision (#20) 2022-08-22 16:03:53 -04:00
Nathaniel Simard f8ab29bba6
feat: add comparison (#19) 2022-08-22 14:27:23 -04:00
Nathaniel Simard 5560bae26a
Feat/elem conversion (#18) 2022-08-22 13:27:15 -04:00
Nathaniel Simard 0f6b50fc10
Feat/dataloader (#17) 2022-08-22 11:21:22 -04:00
Nathaniel Simard 1b8b1e3843
Feat/dataset huggignface (#16) 2022-08-21 17:20:45 -04:00
nathaniel 0f38096abe feat: cross entropy loss 2022-08-20 17:27:04 -04:00
Nathaniel Simard 6642a49d84
Feat/softmax (#15) 2022-08-20 17:13:55 -04:00
nathaniel 7e78aa09ea Feat: add div ops 2022-08-20 12:15:58 -04:00
Nathaniel Simard b2912f483a
Feat/more ops (#14) 2022-08-20 11:20:25 -04:00
nathaniel 71d37f1ec6 feat: relu activation function 2022-08-10 19:09:43 -04:00
nathaniel adf56ed9e6 refactor: fix tensor generics order 2022-08-09 12:40:51 -04:00
nathaniel 77d7c84ab3 Fix element 2022-08-08 19:18:54 -04:00
nathaniel 127b7cb60b wip 2022-08-08 19:18:54 -04:00
nathaniel 5d6c866198 feat: implement mask fill ops 2022-08-08 08:23:55 -04:00
Nathaniel Simard c261398814
Feat/more ops (#11) 2022-08-07 17:28:08 -04:00
Nathaniel Simard 0059c611f5
Feat/module definition (#10) 2022-08-05 21:14:44 -04:00
nathaniel e2f3a6fa10 feat: add backend infos 2022-07-31 14:01:42 -04:00
Nathaniel Simard d00b74b527
Feat/tensor concrete type (#9) 2022-07-31 12:06:25 -04:00
nathaniel 2872b488ef feat: remove some where for ndarray 2022-07-28 14:54:03 -04:00
nathaniel 5f9e0d1bac ci: publish to crates.io 2022-07-27 16:54:34 -04:00
nathaniel ae21cfa34d doc: add burn-tensor Readme 2022-07-27 15:44:41 -04:00
nathaniel 7698dd7684 refactor: cleanup backends 2022-07-27 11:56:30 -04:00
nathaniel fbf5fe3dda refactor: move zeros + ones impl 2022-07-27 11:42:50 -04:00
nathaniel acbbcc3781 feat: add creation trait 2022-07-27 11:24:41 -04:00
nathaniel b0f0d7e378 refactor: create Tensor + Element trait 2022-07-27 10:20:21 -04:00
nathaniel 122cd842a2 refactor: move tensor base ops 2022-07-27 10:05:38 -04:00
nathaniel 6f45e878f1 refactor: move zeros + ones trait in tensor ops 2022-07-27 09:43:57 -04:00
nathaniel 51cb331aef refactor: imports 2022-07-27 09:37:56 -04:00
nathaniel 66cd4ccb9c perf: optimize from bmatrix for ndarray 2022-07-26 18:12:26 -04:00
nathaniel 3ba6c69875 feat: full support for ndarray 2022-07-26 18:01:29 -04:00
nathaniel 7dcd9d5507 feat: wip add ndarray 2022-07-26 15:51:11 -04:00
nathaniel ec32fa730c feat: implement more ops for ndarray backend 2022-07-26 14:21:07 -04:00
nathaniel b2f3c42376 feat: wip ndarray backend 2022-07-26 12:22:24 -04:00
nathaniel c7dad3977b feat: support higher order autodiff 2022-07-26 10:14:17 -04:00
nathaniel 61b67b44ff doc: add a simple example 2022-07-26 10:04:13 -04:00
nathaniel b306156cc2 feat: init tensor 2022-07-26 09:45:13 -04:00
nathaniel fe1b9b6972 feat: support transpose un auto diff 2022-07-26 07:59:24 -04:00
nathaniel 9af7bde608 feat: support neg in auto diff 2022-07-26 07:52:24 -04:00
nathaniel 445a9fbcbe feat: support neg in auto diff 2022-07-26 07:52:17 -04:00
nathaniel 824e1a345f feat: support index + index_assign with auto diff 2022-07-25 22:48:37 -04:00
nathaniel f939b5c775 feat: support reshape in AD 2022-07-25 20:55:13 -04:00
nathaniel ae994f367a feat: support half precision 2022-07-25 19:52:40 -04:00
nathaniel 0dac3f6bdf refactor: ad element 2022-07-25 19:40:14 -04:00
Nathaniel Simard 3769b63305
refactor: breadth first search graph traversal (#5) 2022-07-25 19:10:48 -04:00
Nathaniel Simard a226eabcc8
Refactor/stateless forward node (#4)
* refactor: forward + backward graph

* refactor: always use execute_ops for all ops

* refactor: extract forward and backward nodes

* feat: forward multithread safe

* refactor: backward state

* feat: backward multi-threaded

* feat: remove multi-thread backward
2022-07-25 17:59:25 -04:00
nathaniel f9cbcd4db4 feat: only use gradients struct for getting grad 2022-07-25 11:28:42 -04:00
nathaniel e430a62795 feat: build gradients struct when backward 2022-07-25 11:18:26 -04:00
nathaniel 230cd01ea1 fix: backward order 2022-07-21 07:39:47 -04:00
nathaniel 2f7f65cea5 fix: some autodiff wrong results 2022-07-21 07:07:05 -04:00
Nathaniel Simard 408210f6b6
Refactor/no reference counting on state (#3) 2022-07-20 16:56:26 -04:00
Nathaniel Simard 5e6f0aea75
fix: recorded ops and node creating wrong grad (#2) 2022-07-20 09:57:15 -04:00
Nathaniel Simard 8e80502a05
refactor: create tape only during backprop (#1) 2022-07-19 20:59:32 -04:00
nathaniel 30fadcb4d1 chore: remove old code 2022-07-19 12:50:12 -04:00
nathaniel 2084aced63 feat: implement matmul diff 2022-07-18 21:55:39 -04:00
nathaniel 5ce657ded9 feat: support sub autograd 2022-07-18 20:23:21 -04:00
nathaniel f241a6c114 fix: single recorded ops 2022-07-18 20:03:30 -04:00
nathaniel 6ee628a748 feat: implement TensorBase for ADTensor 2022-07-18 19:31:00 -04:00
nathaniel 902f431fc1 First Commit :D 2022-07-18 19:19:13 -04:00