summaryrefslogtreecommitdiff
path: root/candle-nn/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove the parameters for the Wuerstchen layer-norm. (#879)Laurent Mazare2023-09-171-1/+1
| | | | | | | | | | | * Remove the parameters for the Wuerstchen layer-norm. * Fixes. * More fixes (including conv-transpose2d. * More fixes. * Again more fixes.
* Replication pad (#861)Laurent Mazare2023-09-151-0/+15
| | | | | | | | | * Add the embed mapper convolutions. * Add the replication pad layer. * Use the replication-pad op. * Tweak a todo.
* DiffNeXt/unet (#859)Laurent Mazare2023-09-151-0/+24
| | | | | | | | | | | | | * DiffNeXt/unet * Start adding the vae. * VAE residual block. * VAE forward pass. * Add pixel shuffling. * Actually use pixel shuffling.
* Add leaky-relu in the activation enum. (#858)Laurent Mazare2023-09-151-0/+2
|
* Add the upblocks. (#853)Laurent Mazare2023-09-141-0/+4
|
* Add support to flan-t5 (#840)Juarez Bochi2023-09-131-0/+6
|
* Extract T5 module and add main function to use it (#829)Juarez Bochi2023-09-131-1/+4
| | | | | * Extract t5 out of musicgen * Add main for t5 module
* Add weight, bias, and hidden_size methods (#816)Eric Buehler2023-09-112-0/+21
| | | | | | | * Add weight, bias methods to Conv(1|2) * Add hidden_size method to Embedding * Expose hidden_size
* TinyViT backbone for segment-anything. (#787)Laurent Mazare2023-09-091-13/+13
| | | | | | | | | | | | | * TinyViT. * More TinyViT. * Add more to the tinyvit backbone. * Proper padding. * Plus ViT. * Add the tiniest vit spec.
* Segment Anything - process images (#766)Laurent Mazare2023-09-072-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Start processing images. * Add LayerNorm2d. * Properly use LayerNorm2d. * Tweak eps. * Use LayerNorm on inputs with a rank different from 3. * Window partitioning. * Fix a couple todos. * More todos. * Hard-code the einsums. * More padding support. * Some sizes tweaks. * Use the hub to get the weights. * Use a batch matmul. * Tweaks. * More fixes. * Get some predictions to be generated.
* More segment-anything. (#763)Laurent Mazare2023-09-071-0/+11
| | | | | | | | | | | * More segment-anything. * Split the model in multiple files. * Start adding the transformer. * Add the attention block. * Move the MLP Block.
* Expose the conv2d-transpose layers. (#761)Laurent Mazare2023-09-072-1/+45
|
* Add a nn layer for conv-transpose2d. (#760)Laurent Mazare2023-09-071-1/+50
|
* Use an arc in the varbuilder rather than rc. (#757)Laurent Mazare2023-09-061-6/+6
| | | | | | | * Use an arc in the varbuilder rather than rc. * Require the backends to be send. * Request send and sync.
* Softmax implementation for cuda. (#747)Laurent Mazare2023-09-051-8/+51
|
* Tweaks to softmax. (#745)Laurent Mazare2023-09-051-5/+3
|
* Add a custom softmax implementation. (#744)Laurent Mazare2023-09-051-1/+68
| | | | | | | | | | | | | | | * Add a custom softmax implementation. * Add softmaxlastdim to the benchmarks. * And add a test. * Support more dtypes. * Polish the code. * Use the slow implementation on cuda. * Add a todo for the cuda kernel.
* Fix typo in the nll function document (#742)Masato Mori2023-09-051-1/+1
|
* Musicgen text embeddings. (#726)Laurent Mazare2023-09-031-0/+8
| | | | | | | | | * Musicgen text embeddings. * Bugfix for layer norm. * Proper position bias. * Expose the weights.
* Add the mse loss. (#723)Laurent Mazare2023-09-031-0/+5
|
* Fix the rnn tests for accelerate. (#704)Laurent Mazare2023-09-011-2/+4
|
* Add the optimizer trait. (#702)Laurent Mazare2023-09-012-47/+61
|
* Add some doc to the varbuilder. (#700)Laurent Mazare2023-09-011-0/+24
|
* Allow retrieving and setting prefix of VarBuilder (#699)Lennard2023-09-011-0/+14
|
* Add a GRU layer. (#688)Laurent Mazare2023-08-312-1/+143
| | | | | * Add a GRU layer. * Fix the n gate computation.
* Set the learning rate. (#687)Laurent Mazare2023-08-311-0/+8
|
* Add a LSTM test. (#681)Laurent Mazare2023-08-301-1/+1
| | | | | * Add a LSTM test. * Clippy.
* More robust tests (so that they pass on accelerate). (#679)Laurent Mazare2023-08-302-9/+9
|
* Add a Dropout layer (#676)Laurent Mazare2023-08-302-0/+36
| | | | | * Add a dropout layer. * Add an actual layer.
* Add tanh. (#675)Laurent Mazare2023-08-301-4/+2
| | | | | | | * Add tanh. * Use tanh in the lstm block. * Add a test for tanh forward and backward passes.
* Add some recurrent neural networks (#674)Laurent Mazare2023-08-302-0/+190
| | | | | | | | | * Add the rnn module. * More LSTM. * Implement the RNN forward pass. * More forward pass for LSTM.
* Simplify usage of the pool functions. (#662)Laurent Mazare2023-08-291-18/+1
| | | | | | | * Simplify usage of the pool functions. * Small tweak. * Attempt at using apply to simplify the convnet definition.
* Dilated convolutions (#657)Laurent Mazare2023-08-291-0/+6
| | | | | | | | | | | | | | | | | | | * Add the dilation parameter. * Restore the basic optimizer example. * Dilation support in cudnn. * Use the dilation parameter in the cpu backend. * More dilation support. * No support for dilation in transposed convolutions. * Add dilation to a test. * Remove a print. * Helper function.
* Preliminary support for SDXL. (#647)Laurent Mazare2023-08-291-0/+44
| | | | | | | | | | | | | * Preliminary support for SDXL. * More SDXL support. * More SDXL. * Use the proper clip config. * Querying for existing tensors. * More robust test.
* VarBuilder cleanup (#627)Laurent Mazare2023-08-278-253/+372
| | | | | | | | | * VarBuilder cleanup. * Implement the basic varbuilders. * Add the sharded code. * Proper support for tensor sharding.
* Add Efficientnet (#572)Laurent Mazare2023-08-232-5/+19
| | | | | | | | | * EfficientNet. * Complete the efficientnet implementation. * Improve group handling. * Get the efficientnet to work.
* Add some group parameter to convolutions. (#566)Laurent Mazare2023-08-231-2/+16
| | | | | | | | | | | | | * Add some group parameter to convolutions. * Avoid some unnecessary groups checks. * Move the tensor convolution bits. * Properh handling of groups. * Bump the crate version. * And add a changelog.
* Some fixes for yolo-v3. (#529)Laurent Mazare2023-08-201-4/+49
| | | | | | | | | * Some fixes for yolo-v3. * Use the running stats for inference in the batch-norm layer. * Get some proper predictions for yolo. * Avoid the quadratic insertion.
* Add a couple functions required for yolo. (#527)Laurent Mazare2023-08-203-1/+46
|
* Move the VarMap to a separate file (#525)Laurent Mazare2023-08-203-91/+97
| | | | | * Move the var-map struct in a separate file. * Fix some typos.
* Add a batch normalization layer (#508)Laurent Mazare2023-08-182-0/+156
| | | | | | | | | * Add BatchNormalization. * More batch-norm. * Add some validation of the inputs. * More validation.
* Add a simple Module trait and implement it for the various nn layers (#500)Laurent Mazare2023-08-187-13/+44
| | | | | | | * Start adding the module trait. * Use the module trait. * Implement module for qmatmul.
* Add an abstract type for RmsNorm. (#499)Laurent Mazare2023-08-182-3/+21
|
* Layer norm tweaks (#482)Laurent Mazare2023-08-172-13/+93
| | | | | | | * Add some options to make layer-norm more configurable. * Add the rms-norm variant. * Replace the RmsNorm with the shared bits.
* Expose the varmap inner data. (#411)Laurent Mazare2023-08-111-0/+4
|
* Fixes for the stable diffusion example. (#342)Laurent Mazare2023-08-081-4/+8
| | | | | | | | | | | * Fixes for the stable diffusion example. * Bugfix. * Another fix. * Fix for group-norm. * More fixes to get SD to work.
* Skeleton for the avg-pool2d and upsample-nearest2d ops. (#337)Laurent Mazare2023-08-071-2/+10
| | | | | * Skeleton for the avg-pool2d and upsample-nearest2d ops. * Preliminary conv2d support.
* Implement group-norm. (#334)Laurent Mazare2023-08-072-8/+45
| | | | | * Implement group-norm. * Add some testing for group-norm.
* Add a stable diffusion example (#328)Laurent Mazare2023-08-064-1/+136
| | | | | | | | | | | | | | | | | | | | | | | | | * Start adding a stable-diffusion example. * Proper computation of the causal mask. * Add the chunk operation. * Work in progress: port the attention module. * Add some dummy modules for conv2d and group-norm, get the attention module to compile. * Re-enable the 2d convolution. * Add the embeddings module. * Add the resnet module. * Add the unet blocks. * Add the unet. * And add the variational auto-encoder. * Use the pad function from utils.
* Add the candle-datasets crate (#322)Laurent Mazare2023-08-055-312/+0
| | | | | | | | | | | | | * Move the vision datasets to a separate crate. * Move the batcher bits. * Update the readme. * Move the tiny-stories bits. --------- Co-authored-by: Jane Doe <jane.doe@example.org>