8 个重大版本更新
使用旧的 Rust 2015
0.9.0 | 2017年11月2日 |
---|---|
0.7.0 | 2017年8月26日 |
0.4.0 | 2017年7月28日 |
#387 in 机器学习
在 fairsquare 中使用
51KB
1K SLoC
Juggernaut

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();
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
的输出是训练后的网络的预测。
文档
构建
要构建演示,运行
cargo build --example helloworld --verbose
然后运行编译后的文件
./target/debug/examples/helloworld
测试
安装 Rust 1.x 并运行
cargo test
作者
- Afshin Mehrabani ([email protected])
- Addtheice https://github.com/addtheice
和 贡献者
常见问题解答
贡献
分叉项目并发送对该特定部分的 PR + 单元测试。
"Juggernaut"?
Juggernaut 是一个 Dota2 英雄,我喜欢这个英雄。Juggernaut 是一个强大的英雄,当他有足够的农场收益时。
许可证
GNU 通用公共许可证 v3.0
依赖项
~325–550KB