* Updated documentation for unfold4d
Added links between the struct and the config. Added a link to the related burn_tensor function in the documentation for the forward function.
* Changing nn relu module documentation to functional api
Removing the formula for relu from the module API to the functional API,
citing a paper relevant to relu
and mentionning the functional API in the module API
* Linking gelu module API documentation to functional API documentation
* Linear module : adding documentation
Adding documentation to the Linear module
mentionning that LinearConfig struct
should be used when creating a Linear Layer
Also adding links to the documentation that points people toward
the right path
* Updated documentation for dropout
Added links between the struct and the config. Added a link to the struct in the forward function for more info.
* embedding + swiglu
* RotaryEncodying : adding documentation
Adding documentation stating the RotaryEncoding should be created using a RotaryEncodingConfig
* prelu: adding documentation
Adding documentation to the prelu module:
- Linking forward function documentation to the functional API
- Citing the first paper to mention prelu
- Adding documentation saying that prelu layer should be created using PReluConfig
* pos_encoding: adding documentation
* Updated documentation for mha
Added links for more info. Added shape info at some places.
* docs: Add documentation for Gru module
Provide documentation for the Gru module, including its configuration and usage. Include a link to the paper that introduced the Gated Recurrent Unit (GRU) and specify that the module should be created using GruConfig. Also, mention that the forward function returns a state tensor with specific dimensions.
* burn-core-nn-transformers: adding documentation
Adding documentation:
- Says to use config to create the layers
- Add mathematical formula to the pwff forward pass
- Add citation in the pwff to the "Attention is all you need" paper
* Updated documentation: ConvTranspose1d and ConvTranspose2d
* docs: Add documentation for Lstm and BiLstm modules
Provide documentation for the Lstm and BiLstm modules, including their configurations and usage. Include links to the papers that introduced Long Short-Term Memory (LSTM) and Bidirectional LSTM. Specify that the modules should be created using LstmConfig and BiLstmConfig respectively.
* docs: Update documentation for ConvTranspose1d and ConvTranspose2d modules
* loss: Adding documenntation to the loss layers
Adding documentation stating to use the config to create the layer
* chore: Refactor Conv1d module imports and update documentation
* docs: Add documentation for AdaptiveAvgPool1d and AdaptiveAvgPool2d modules
Added references to the burn_tensor associated functions. Added links between the struct and the config.
* Refactor Conv1d module imports and update documentation
* chore: Refactor Conv2d module imports and update documentation
* Add documentation for AvgPool1d and AvgPool2d modules
Added references to the burn_tensor associated functions. Added links between the struct and the config.
* Add documentation for MaxPool1d and MaxPool2d modules
Added references to the burn_tensor associated functions. Added links between the struct and the config.
* Add documentation for leaky_relu and removed Config generic
Added references to the burn_tensor associated functions. Added links between the struct and the config. Removed the backend generic from the config since it's not needed (might be a breaking change).
* refactor: Update BatchNormConfig initialization and add documentation.
* Added link to config in embedding struct documentation
* refactor: Update GroupNormConfig initialization and add documentation
* refactor: Update InstanceNormConfig initialization and add documentation
* feat: Update LayerNormConfig initialization and add documentation
* refactor: Update RmsNormConfig initialization and add documentation
* fixed: removed #derive accidentally
* Added missing backticks in pools' shapes
* Format nn doc
* Make config fields public in nn modules
* Update import statements in nn modules
Changed burn_tensor imports to crate::tensor
* Update import statements in nn modules' tests
Changed burn_tensor imports to crate::tensor
* breaking change refactor: Update GroupNormConfig and InstanceNormConfig initialization
* Make SwiGlu fields public
* grammar
* slashes
* input tensors grouping
* copy-pasta mistake
* a not an >:I
* Capitalization
* better desc
* math 'n ticks
* group_norm functional implementation
* removed the ... struct
* decoder typo
* fmt
* referring to private fn in docs
---------
Co-authored-by: Thierry Cantin-Demers <piertcd@gmail.com>
Co-authored-by: mepatrick73 <pameu17@ulaval.ca>
* #1747
Upgrade Rust dependencies
* Revert upgrade for tch
The update of tch on windows gives an error:
INTEL MKL ERROR: The specified module could not be found. mkl_vml_avx2.1.dll.
Intel MKL FATAL ERROR: cannot load mkl_vml_avx2.1.dll or mkl_vml_def.1.dll.
* Keep only .cargo/config.toml file which works with rust > 1.75
---------
Co-authored-by: Sylvain Benner <sylvain@benner.online>
* resolve conflict
* move `gate_product` to `GateController`
* BiLstm needs to use its own initializer when init
* resolve conflicts
* add some comments
* improve doc
* correct the description of GateController
* fix fmt
* add `LstmState`
* add test for state
* set batch 2 in bilstm test
* resolve conflict
* fix
* fix doc
* change the batch size back to 1
* change the batch size back to 1
* modify docstring; delete dead comment
* refactor execute_dynamic into Execution
* minor change
* extension cfg
* jitkernel and sourcekernel
* add todo statement
* cleanup and docs
* update book
* fix server dependancy on compiler
* refactor into shader information
* refactor to compile shader once
* clippy
* clippy
* clippy
* fix doc
* fix doc
* fmt
* rename feature flag
* refactor
* All broked
* compile at the right time
* todo done
* all dynamic
* all dynamic in template too
* fmt
* fix ci
---------
Co-authored-by: nathaniel <nathaniel.simard.42@gmail.com>
* Implement LeakyReLu
* Cargo fmt
* Apply suggestions
* cargo fmt
* Use float_mul_scalar
* Should be grad
* Add to books module
* Move test files
* Update leaky relu to use activation function
* Update tensor.md
* Fix failing test due to approx
* Add back the function comment
* Fix comment per PR feedback
---------
Co-authored-by: Dilshod Tadjibaev <939125+antimora@users.noreply.github.com>
* Initial padding approach
Create padding implementation for the last two dimensions of Float and Int Tensors.
Create PadMode Enum, allowing Constant padding.
Create Padding Struct with Uniform, Asymmetric, height, and width implementations.
Create tests for the padding implementation.
* Update padding.rs
remove unneeded import
* Update from Merge
Use crate Element
Swap from old from_data() to new from_data_devauto()
* Formatting Changes
Formatting changes from cargo fmt --all
* Additional Format Change
One more format change that cargo fmt didn't get the first time.
* Changes to Example
Modify Example to ensure it works.
* modify naming
better names for impl / input variables.
* Modify API
- Change Padding to PadSize.
- integrate padding value into PadMode.
- update tests and examples.
* Comments and print
Improve comments+naming and remove println
* Pad Fixes
Moved pad to numeric
Simplified PadMode Element
updated tensor creations
fixed doc example
* Fix test location
* Simplified pad API
* Fix for failed unit tests
* Remove bool_full
* Rename `pads` to `padding`
---------
Co-authored-by: Dilshod Tadjibaev <939125+antimora@users.noreply.github.com>
* Implement Huber loss
Instead of using a sign or abs function, uses clamping to compute
it outside the bounds. This is better for the autodiff backend.
* mention Huber loss in the book
* unify naming of residuals in comments
* Enhance PyTorchRecorder to pass top level key to extract state_dict
This is needed for Whisper weight pt files.
* Fix missing hyphens
* Move top-level-key test under crates
* Add sub-crates as members of workspace
* Update Cargo.lock
* Add accidentally omitted line during merge
* add any, all op implementation for all tensor types
* add op to burn-book
* fix formatting
* refactor tensor operations from numeric to BaseOps.
* fix book doc
* comments fix and add more tests