1 个不稳定版本
0.1.0 | 2022年5月24日 |
---|
#8 in #变量
16KB
418 行
Niura 是一个用 Rust 编写的自动微分库。
将 niura 添加到您的项目中
[dependencies]
niura = { git = "https://github.com/taminki/niura" }
原因
尽管有几个用 Rust 编写的库提供了自动微分功能,但它们的 API 语法通常非常冗长。
Niura 致力于尽可能接近符号数学的语法,主要区别在于需要通过引用传递变量,因为对已经丢弃的变量进行微分没有意义。
使用示例
use niura::var::*;
fn main() {
let a = var::float(2.0);
let b = var::float(3.0);
let c = tan(&(&a * &b));
c.backward();
println!("{}", a.grad());
}
下一步是什么
这是一个探索性项目,旨在了解自动微分的工作原理,因此没有具体的计划时间表。
然而,我目前正在努力添加对向量值函数微分的支持。我还想添加一些功能,使其在未来成为机器学习库。
依赖项
~310KB