micrograd-rs 0.0.2

Rust implementation of Andrej Karpathy's micrograd scalar-valued engine with basic neural network.
Documentation
use crate::{neuron::Neuron, value::Value};

pub struct Layer {
    neurons: Vec<Neuron>,
}

impl Layer {
    pub fn new(input_count: usize, output_count: usize) -> Layer {
        Layer {
            neurons: (0..output_count)
                .map(|_| Neuron::new(input_count))
                .collect(),
        }
    }

    pub fn forward(&self, xs: &Vec<Value>) -> Vec<Value> {
        self.neurons.iter().map(|n| n.forward(xs)).collect()
    }

    pub fn parameters(&self) -> Vec<Value> {
        self.neurons.iter().flat_map(|n| n.parameters()).collect()
    }
}