#neural-network #learning #nn #nalgebra #weight #manipulate #part

only-brain

一个简单的神经网络库,不包含学习部分

5 个版本

0.1.4 2023年12月13日
0.1.3 2023年12月4日
0.1.2 2023年12月4日
0.1.1 2023年12月4日
0.1.0 2023年12月4日

#282 in 机器学习

每月 42 下载

MIT 许可证

15KB
208

Only Brain

一个使用 Rust 编写的非常简单的神经网络库,旨在允许用户直接创建、操作和训练神经网络。用户可以直接访问网络的权重和偏置,允许他们按需操作神经网络。

使用方法

use no_brain::NeuralNetwork;
use nalgebra::dmatrix;
use nalgebra::dvector;

fn main() {
    let mut nn = NeuralNetwork::new(&vec![2, 2, 1]);

    nn.set_layer_weights(1, dmatrix![0.1, 0.2;
                                     0.3, 0.4]);
    nn.set_layer_biases(1, dvector![0.1, 0.2]);

    nn.set_layer_weights(2, dmatrix![0.9, 0.8]);
    nn.set_layer_biases(2, dvector![0.1]);

    let input = vec![0.5, 0.2];
    let output = nn.feed_forward(&input);

    println!("{:?}", output);
}

lib.rs:

No Brain

一个使用 Rust 编写的非常简单的神经网络库,旨在允许用户直接创建、操作和训练神经网络。用户可以直接访问网络的权重和偏置,允许他们实现自己的训练方法。

示例

use no_brain::NeuralNetwork;
use nalgebra::dmatrix;
use nalgebra::dvector;

fn main() {
    let mut nn = NeuralNetwork::new(&vec![2, 2, 1]);

    nn.set_layer_weights(1, dmatrix![0.1, 0.2;
                                     0.3, 0.4]);
    nn.set_layer_biases(1, dvector![0.1, 0.2]);

    nn.set_layer_weights(2, dmatrix![0.9, 0.8]);
    nn.set_layer_biases(2, dvector![0.1]);

    let input = vec![0.5, 0.2];
    let output = nn.feed_forward(&input);

    println!("{:?}", output);
}

依赖项

~4.5MB
~91K SLoC