Commit Graph

246 Commits

Author SHA1 Message Date
Nathaniel Simard 25deb5a13b
Refactor/autodiff (#186) 2023-02-28 20:01:26 -05:00
Dilshod Tadjibaev fb925acc73
Make burn and burn-core packages no_std compatible (#168) (#173)
* Make burn-ndarray and burn-tensor no_std compatible (#168)
2023-02-25 09:38:01 -05:00
Dilshod Tadjibaev 9091363ada
Make burn-ndarray and burn-tensor no_std compatible (#168) (#169) 2023-02-21 08:35:24 -05:00
Nathaniel Simard 7d2f43dfca
Refactor Tensor API (#163) 2023-02-17 17:31:20 -05:00
Nathaniel Simard 2401d8ad96
Prepare next release (#161) 2023-02-12 15:32:29 -05:00
Yu Sun 0b85cb0eed
feat(trait-TensorOps): add log1p (#160) 2023-02-11 13:30:50 -05:00
Nathaniel Simard c7963d8485
refactor: device functions (#157) 2023-01-27 18:37:21 -05:00
Nathaniel Simard 2d4e514b41
Refactor/shape function (#156) 2023-01-27 15:18:55 -05:00
Makro f6f0d0e4f3
Add cos, sin and tanh operations (#155)
* Add cos, sin and tanh operations

* Add tests

* Fix formatting
2023-01-24 19:40:30 -05:00
Nathaniel Simard 34d233cd3e
Feat/max pooling backend (#152) 2023-01-21 15:39:21 -05:00
Nathaniel Simard 745c88f0a0
Feat/conv (#147) 2023-01-11 18:33:09 -05:00
Nathaniel Simard 2f179f12c9
Bump versions (#141) 2022-12-30 15:15:51 -05:00
Nathaniel Simard eea5a263bf
Feat/adam optimizer (#140) 2022-12-30 15:02:43 -05:00
Nathaniel Simard 248039da0a
Refactor/metric adaptor (#139) 2022-12-26 16:30:25 -05:00
Visual 567adfb93e
refactor: fix all clippy warnings (#137) 2022-12-25 11:22:25 -05:00
Visual 85f98b9d54
refactor, feat: clean Cargo.toml files, upgrade tch to 0.10 (#131)
* Clean Cargo.toml files, upgrade tch to 0.10

* Add pull_request hook to test.yml workflow
2022-12-25 10:36:23 -05:00
Nathaniel Simard 1ec35a9e1b
feat: from floats (#87) 2022-12-25 10:11:20 -05:00
Nathaniel Simard 3a9dfe6097
feat: cross entropy loss (#130) 2022-12-25 10:10:22 -05:00
Nathaniel Simard 1a1d86dc3e
refactor: save and load state (#129) 2022-12-24 13:02:37 -05:00
Nathaniel Simard 3a91c2c48e
Feat/multi device (#128) 2022-12-20 18:01:58 -05:00
Nathaniel Simard a599eaed88
Feat/module visitor (#127) 2022-12-17 14:25:36 -05:00
Nathaniel Simard d9592411c2
Feat/text generation example (#126) 2022-12-16 19:23:51 -05:00
Nathaniel Simard 63d8d39517
Feat/autoregressive transformer (#125) 2022-12-10 15:47:57 -05:00
Nathaniel Simard b99b23e1a7
refactor: backends (#124) 2022-12-02 19:28:34 -05:00
Nathaniel Simard 7c38a980c1
feat: improve bool tensor (#122) 2022-12-01 19:43:36 -05:00
Nathaniel Simard 8bd0b17296
Feat/mha (#118) 2022-11-26 15:48:26 -05:00
Nathaniel Simard 46d06f0c90
feat: module init (#117) 2022-11-25 22:02:26 -05:00
Nathaniel Simard acb14adc29
Fix/named tensor (#115) 2022-11-25 19:30:35 -05:00
Nathaniel Simard e0e787f87d
Experimental/named tensor (#113) 2022-11-23 19:05:46 -05:00
nathaniel a8e75f6164 fix/publish-crates-io 2022-11-20 13:08:54 -05:00
Nathaniel Simard 9ecd1be992
chore: get ready for next release (#111) 2022-11-20 12:59:10 -05:00
Nathaniel Simard ca94a9f105
refactor: autodiff gradients types (#107) 2022-11-19 19:43:49 -05:00
Nathaniel Simard dda067e79b
Refactor/backend autodiff (#106) 2022-11-19 12:37:06 -05:00
Nathaniel Simard d45d674a04
Refactor/backend ndarray (#105) 2022-11-18 20:37:38 -05:00
Nathaniel Simard 713f078602
refactor: burn tensor testgen (#104) 2022-11-16 21:02:32 -05:00
Nathaniel Simard ab51c22a55
Refactor/extract tch backend (#103) 2022-11-15 21:06:40 -05:00
Nathaniel Simard 23677b8e89
Refactor/zeros ones elems (#102) 2022-11-14 18:41:26 -05:00
Nathaniel Simard 1a45368878
refactor: relu ops (#101) 2022-11-12 13:28:45 -05:00
Nathaniel Simard da7a8e3f6a
refactor: cat ops (#100) 2022-11-12 13:02:10 -05:00
Nathaniel Simard ab39b8779b
refactor: erf ops (#99) 2022-11-12 12:27:31 -05:00
Nathaniel Simard ef01a4ed3f
refactor: pow ops (#98) 2022-11-12 12:06:53 -05:00
Nathaniel Simard 8c050c2904
refactor: exp + log ops (#97) 2022-11-12 11:50:47 -05:00
Nathaniel Simard 7684857282
refactor: args ops (#96) 2022-11-12 11:29:42 -05:00
Nathaniel Simard 0b77ef5dbc
refactor: precision ops (#95) 2022-11-12 11:13:47 -05:00
Nathaniel Simard 9d832a802a
refactor: aggregation ops (#94) 2022-11-12 10:23:00 -05:00
Nathaniel Simard e7094b92ac
refactor: detach-ops (#93) 2022-11-12 09:44:59 -05:00
Nathaniel Simard cba0db14db
refactor: comparison ops (#88) 2022-11-08 19:57:58 -05:00
Nathaniel Simard c5213b6c32
Fix: mnist example (#85) 2022-11-07 17:58:50 -05:00
Nathaniel Simard eee8bf4599
Refactor/mask fill (#74) 2022-11-05 22:09:40 -04:00
Nathaniel Simard 4111c46d6d
Refactor/index (#73) 2022-11-05 21:26:05 -04:00
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