[package]
edition = "2024"
rust-version = "1.85.0"
name = "rustyml"
version = "0.11.0"
authors = ["SomeB1oody <stanyin64@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance machine learning & deep learning library in pure Rust, offering ML algorithms and neural network support"
documentation = "https://docs.rs/crate/rustyml"
readme = "README.md"
keywords = [
"machine_learning",
"ML",
"neural_network",
"AI",
]
categories = [
"mathematics",
"science",
"algorithms",
]
license = "MIT"
repository = "https://github.com/SomeB1oody/RustyML"
[package.metadata.docs.rs]
features = ["full"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
dataset = ["dep:ndarray"]
default = [
"machine_learning",
"neural_network",
]
full = [
"dataset",
"machine_learning",
"neural_network",
"utility",
"math",
"metric",
]
machine_learning = [
"math",
"dep:ndarray",
"dep:rayon",
"dep:ahash",
"dep:ndarray-rand",
"dep:indicatif",
"dep:serde",
"dep:serde_json",
]
math = [
"dep:ndarray",
"dep:ahash",
]
metric = [
"dep:ndarray",
"dep:ahash",
]
neural_network = [
"dep:ndarray",
"dep:rayon",
"dep:ndarray-rand",
"dep:indicatif",
"dep:serde",
"dep:serde_json",
]
utility = [
"math",
"dep:ndarray",
"dep:nalgebra",
"dep:rayon",
"dep:ahash",
"dep:indicatif",
"dep:serde",
"dep:serde_json",
"dep:ndarray-rand",
]
[lib]
name = "rustyml"
path = "src/lib.rs"
[[test]]
name = "machine_learning_test"
path = "tests/machine_learning_test.rs"
[[test]]
name = "math_test"
path = "tests/math_test.rs"
[[test]]
name = "metric_test"
path = "tests/metric_test.rs"
[[test]]
name = "ml_dbscan_test"
path = "tests/ml_dbscan_test.rs"
[[test]]
name = "ml_decision_tree_test"
path = "tests/ml_decision_tree_test.rs"
[[test]]
name = "ml_isolation_forest_test"
path = "tests/ml_isolation_forest_test.rs"
[[test]]
name = "ml_kmeans_test"
path = "tests/ml_kmeans_test.rs"
[[test]]
name = "ml_knn_test"
path = "tests/ml_knn_test.rs"
[[test]]
name = "ml_linear_regression_test"
path = "tests/ml_linear_regression_test.rs"
[[test]]
name = "ml_linear_svc_test"
path = "tests/ml_linear_svc_test.rs"
[[test]]
name = "ml_logistic_regression_test"
path = "tests/ml_logistic_regression_test.rs"
[[test]]
name = "ml_meanshift_test"
path = "tests/ml_meanshift_test.rs"
[[test]]
name = "ml_svc_test"
path = "tests/ml_svc_test.rs"
[[test]]
name = "neural_network_test"
path = "tests/neural_network_test.rs"
[[test]]
name = "nn_activation_test"
path = "tests/nn_activation_test.rs"
[[test]]
name = "nn_average_pooling_1d_test"
path = "tests/nn_average_pooling_1d_test.rs"
[[test]]
name = "nn_average_pooling_2d_test"
path = "tests/nn_average_pooling_2d_test.rs"
[[test]]
name = "nn_average_pooling_3d_test"
path = "tests/nn_average_pooling_3d_test.rs"
[[test]]
name = "nn_batch_normalization_test"
path = "tests/nn_batch_normalization_test.rs"
[[test]]
name = "nn_conv_1d_test"
path = "tests/nn_conv_1d_test.rs"
[[test]]
name = "nn_conv_2d_test"
path = "tests/nn_conv_2d_test.rs"
[[test]]
name = "nn_conv_3d_test"
path = "tests/nn_conv_3d_test.rs"
[[test]]
name = "nn_dense_test"
path = "tests/nn_dense_test.rs"
[[test]]
name = "nn_depthwise_conv_2d_test"
path = "tests/nn_depthwise_conv_2d_test.rs"
[[test]]
name = "nn_dropout_test"
path = "tests/nn_dropout_test.rs"
[[test]]
name = "nn_flatten_test"
path = "tests/nn_flatten_test.rs"
[[test]]
name = "nn_gaussian_dropout_test"
path = "tests/nn_gaussian_dropout_test.rs"
[[test]]
name = "nn_gaussian_noise_test"
path = "tests/nn_gaussian_noise_test.rs"
[[test]]
name = "nn_global_average_pooling_1d_test"
path = "tests/nn_global_average_pooling_1d_test.rs"
[[test]]
name = "nn_global_average_pooling_2d_test"
path = "tests/nn_global_average_pooling_2d_test.rs"
[[test]]
name = "nn_global_average_pooling_3d_test"
path = "tests/nn_global_average_pooling_3d_test.rs"
[[test]]
name = "nn_global_max_pooling_1d_test"
path = "tests/nn_global_max_pooling_1d_test.rs"
[[test]]
name = "nn_global_max_pooling_2d_test"
path = "tests/nn_global_max_pooling_2d_test.rs"
[[test]]
name = "nn_global_max_pooling_3d_test"
path = "tests/nn_global_max_pooling_3d_test.rs"
[[test]]
name = "nn_group_normalization_test"
path = "tests/nn_group_normalization_test.rs"
[[test]]
name = "nn_gru_test"
path = "tests/nn_gru_test.rs"
[[test]]
name = "nn_instance_normalization_test"
path = "tests/nn_instance_normalization_test.rs"
[[test]]
name = "nn_layer_normalization_test"
path = "tests/nn_layer_normalization_test.rs"
[[test]]
name = "nn_layer_weight_test"
path = "tests/nn_layer_weight_test.rs"
[[test]]
name = "nn_loss_function_test"
path = "tests/nn_loss_function_test.rs"
[[test]]
name = "nn_lstm_test"
path = "tests/nn_lstm_test.rs"
[[test]]
name = "nn_max_pooling_1d_test"
path = "tests/nn_max_pooling_1d_test.rs"
[[test]]
name = "nn_max_pooling_2d_test"
path = "tests/nn_max_pooling_2d_test.rs"
[[test]]
name = "nn_max_pooling_3d_test"
path = "tests/nn_max_pooling_3d_test.rs"
[[test]]
name = "nn_optimizer_test"
path = "tests/nn_optimizer_test.rs"
[[test]]
name = "nn_separable_conv_2d_test"
path = "tests/nn_separable_conv_2d_test.rs"
[[test]]
name = "nn_sequential_test"
path = "tests/nn_sequential_test.rs"
[[test]]
name = "nn_simple_rnn_test"
path = "tests/nn_simple_rnn_test.rs"
[[test]]
name = "nn_spatial_dropout_1d_test"
path = "tests/nn_spatial_dropout_1d_test.rs"
[[test]]
name = "nn_spatial_dropout_2d_test"
path = "tests/nn_spatial_dropout_2d_test.rs"
[[test]]
name = "nn_spatial_dropout_3d_test"
path = "tests/nn_spatial_dropout_3d_test.rs"
[[test]]
name = "ut_kernel_pca_test"
path = "tests/ut_kernel_pca_test.rs"
[[test]]
name = "ut_label_encoding_test"
path = "tests/ut_label_encoding_test.rs"
[[test]]
name = "ut_linear_discriminant_analysis_test"
path = "tests/ut_linear_discriminant_analysis_test.rs"
[[test]]
name = "ut_normalize_test"
path = "tests/ut_normalize_test.rs"
[[test]]
name = "ut_principal_component_analysis_test"
path = "tests/ut_principal_component_analysis_test.rs"
[[test]]
name = "ut_standardize_test"
path = "tests/ut_standardize_test.rs"
[[test]]
name = "ut_t_sne_test"
path = "tests/ut_t_sne_test.rs"
[[test]]
name = "ut_train_test_split_test"
path = "tests/ut_train_test_split_test.rs"
[[test]]
name = "utility_test"
path = "tests/utility_test.rs"
[dependencies.ahash]
version = "0.8.12"
features = ["serde"]
optional = true
[dependencies.indicatif]
version = "0.18.3"
optional = true
[dependencies.nalgebra]
version = "0.34.1"
optional = true
[dependencies.ndarray]
version = "0.17.2"
features = [
"rayon",
"serde",
]
optional = true
[dependencies.ndarray-rand]
version = "0.16.0"
optional = true
[dependencies.rayon]
version = "1.11.0"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.149"
optional = true
[dev-dependencies.approx]
version = "0.5.1"
[profile.dev]
opt-level = 0
[profile.release]
opt-level = 3