Juggernaut:由Rust语言实现的试验性神经网络

原文Juggernaut
作者:Afshin Mehrabani
翻译:雁惊寒

Juggernaut是一款由Rust语言实现的试验性神经网络。

示例

要使用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(dataset);

    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(10000);

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

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

}

而输出think则是网络训练后的预测结果。

文档

https://docs.rs/juggernaut

构建

要构建demo,请执行:

cargo build --example helloworld --verbose

然后运行编译出来的文件:

./target/debug/examples/helloworld

测试

安装Rust 1.x并执行:

cargo test

作者

Afshin Mehrabani (afshin.meh@gmail.com) 和 贡献者们

FAQ

如何贡献

Fork项目,然后发送特定部分的PR和单元测试。

为什么叫“Juggernaut”?

Juggernaut是DOTA2中的英雄,很强大,我喜欢这个英雄。

授权许可

GNU General Public License v3.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值