8 个重大版本更新

使用旧的 Rust 2015

0.9.0 2017年11月2日
0.7.0 2017年8月26日
0.4.0 2017年7月28日

#387 in 机器学习


fairsquare 中使用

GPL-3.0 许可证

51KB
1K SLoC

Juggernaut 构建状态 覆盖率状态

Juggernaut 是一个用 Rust 编写的实验性神经网络

hi

示例

想使用 Juggernaut 设置一个简单的网络吗?

此示例创建了一个具有一个隐藏层的随机二进制操作网络

fn main() {
    let dataset = vec![
        Sample::new(vec![0f64, 0f64, 1f64], vec![0f64]),
        Sample::new(vec![0f64, 1f64, 1f64], vec![0f64]),
        Sample::new(vec![1f64, 0f64, 1f64], vec![1f64]),
        Sample::new(vec![1f64, 1f64, 1f64], vec![1f64])
    ];
    
    let mut test = NeuralNetwork::new();

    let sig_activation = Sigmoid::new();

    // 1st layer = 2 neurons - 3 inputs
    test.add_layer(NeuralLayer::new(2, 3, sig_activation));

    // 2nd layer = 1 neuron - 2 inputs
    test.add_layer(NeuralLayer::new(1, 2, sig_activation));

    test.error(|err| {
        println!("error({})", err.to_string());
    });

    test.train(dataset, 1000, 0.1f64);
    
    let think = test.evaluate(Sample::predict(vec![1f64, 0f64, 1f64]));

    println!("Evaluate [1, 0, 1] = {:?}", think.get(0, 0));

}

并且 think 的输出是训练后的网络的预测。

文档

https://docs.rs/juggernaut

构建

要构建演示,运行

cargo build --example helloworld --verbose

然后运行编译后的文件

./target/debug/examples/helloworld

测试

安装 Rust 1.x 并运行

cargo test

作者

贡献者

常见问题解答

贡献

分叉项目并发送对该特定部分的 PR + 单元测试。

"Juggernaut"?

Juggernaut 是一个 Dota2 英雄,我喜欢这个英雄。Juggernaut 是一个强大的英雄,当他有足够的农场收益时。

许可证

GNU 通用公共许可证 v3.0

依赖项

~325–550KB