#data-science #toolkit #scsys

no-std concision

Concision 是一个用 Rust 编写的完整数据科学工具包

14 个版本

0.1.14 2024 年 5 月 25 日
0.1.13 2024 年 5 月 10 日
0.1.11 2022 年 8 月 1 日
0.1.10 2022 年 7 月 18 日

#428 in 科学

Download history 102/week @ 2024-05-03 164/week @ 2024-05-10 9/week @ 2024-05-17 137/week @ 2024-05-24 8/week @ 2024-05-31 4/week @ 2024-06-07 13/week @ 2024-07-19 69/week @ 2024-07-26

每月 82 次下载

Apache-2.0

185KB
5K SLoC

Concision

crates.io docs.rs

clippy rust


该库目前处于开发初期,尚未准备好用于生产使用。

Concision 旨在成为 Rust 中构建机器学习模型的完整工具包。

Concision 是一个用于在 Rust 中构建强大模型的机器学习库,优先考虑易用性、效率和灵活性。该库旨在利用 Rust 2024 版本中即将推出的 autodiff 实验性功能和泛型支持的增强。

入门指南

从源代码构建

首先克隆仓库

git clone https://github.com/FL03/concision.git
cd concision
cargo build --features full -r --workspace

用法

示例:线性模型(有偏置)

    extern crate concision as cnc;

    use cnc::prelude::{linarr, Linear, Result, Sigmoid};
    use ndarray::Ix2;

    fn main() -> Result<()> {
        tracing_subscriber::fmt::init();
        tracing::info!("Starting linear model example");

        let (samples, d_in, d_out) = (20, 5, 3);
        let data = linarr::<f64, Ix2>((samples, d_in)).unwrap();

        let model = Linear::<f64>::from_features(d_in, d_out).uniform();
        // let model = Linear::<f64, cnc::linear::Unbiased>::from_features(d_in, d_out).uniform();

        assert!(model.is_biased());

        let y = model.activate(&data, Sigmoid::sigmoid).unwrap();
        assert_eq!(y.dim(), (samples, d_out));
        println!("Predictions:\n{:?}", &y);

        Ok(())
    }

贡献

欢迎提交拉取请求。对于重大更改,请先打开一个问题以讨论您想要更改的内容。

请确保适当地更新测试。

许可证

依赖项

~2–3.5MB
~67K SLoC