This project is a Rust implementation of a Kolmogorov–Arnold Network (KAN) neural network. The KAN network is a type of feedforward neural network that uses a spline activation function to approximate any continuous function. The network is trained using backpropagation and gradient descent to minimize the loss function. The project includes a library for building and training the network, as well as an example application that demonstrates how to use the network to solve a regression problem.
src/bin/kan.rs
: The main entry point of the application.src/data_structures
: Contains various data structures used in the project like KANLayer
, layer
, matrix
, spline
, and vector
.src/lib.rs
: The library file.src/network
: Contains the network implementation.src/tests
: Contains the unit tests for the various components of the project.src/utils
: Contains utility functions and modules like activations
, is_close_enough
, and loss_functions
.model
and model.json
: These files are related to the model used in the project.To run the project, use the following command:
cargo run
To run the tests, use the following command:
cargo test
This project is licensed under the MIT License.
Contributions are welcome! Please feel free to submit pull requests or open issues.
This project is still under development, but I hope it will be a useful resource for anyone interested in learning about KAN neural networks and implementing them in Rust.