Skip to contents

Package overview

Title: Higher-Level Interface of ‘torch’ Package to Auto-Train Neural Networks

Whether you’re generating neural network architecture expressions or directly fitting/training models, kindling minimizes boilerplate code while preserving torch. Since this package uses torch as its backend, GPU acceleration is supported.

kindling also bridges the gap between torch and tidymodels. It works seamlessly with parsnip, recipes, and workflows to bring deep learning into your existing tidymodels modeling pipeline. This enables a streamlined interface for building, training, and tuning deep learning models within the familiar tidymodels ecosystem.

Main Features

  • Code generation of torch expression

  • Multiple architectures available

    • Base models interface: feedforward networks (MLP/DNN/FFNN) and recurrent variants (RNN, LSTM, GRU)
    • Generalized neural network trainer that has the same topology as MLPs
  • Native support for R ML workflows and pipelines (currently tidymodels; mlr3 planned)

  • Fine-grained control over network depth, layer sizes, and activation functions

  • GPU acceleration support via torch tensors

Installation

You can install kindling on CRAN:

install.packages('kindling')

Or install the development version from GitHub:

# install.packages("pak")
pak::pak("joshuamarie/kindling")
## devtools::install_github("joshuamarie/kindling")

References

Falbel D, Luraschi J (2023). torch: Tensors and Neural Networks with ‘GPU’ Acceleration. R package version 0.13.0, https://torch.mlverse.org, https://github.com/mlverse/torch.

Wickham H (2019). Advanced R, 2nd edition. Chapman and Hall/CRC. ISBN 978-0815384571, https://adv-r.hadley.nz/.

Goodfellow I, Bengio Y, Courville A (2016). Deep Learning. MIT Press. https://www.deeplearningbook.org/.

Citation

If you use kindling in a publication, please cite it. Run citation("kindling") in R to get the current citation, or see the CITATION file.

License

MIT + file LICENSE

Code of Conduct

Please note that the kindling project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.