notmy.computer


A technical blog by Joseph DeBartola


Some sample text here, I suppose

Next is a syntax-highlighted code sample!

pub trait Layer {
    /// Propagates input forward through the layer to produce an output Matrix
    fn forward_prop(&mut self, input: &Matrix, batch_size: usize, training: bool) -> ForwardPropResult;

    /// Propoagates a given derivative backward through the layer,
    /// updating the weights and biases within and producing a
    /// consecutive derivative Matrix to further propogate backwards
    fn back_prop(&mut self, bp_deriv: &Matrix, learning_rate: f64, batch_size: usize) -> BackPropResult;

    /// Given a learning rate and a Matrix of gradients for the weights,
    /// update the weights in the layer
    fn update_weights(&mut self, learning_rate: f64, gradient: &Matrix, batch_size: usize)  -> WeightUpdateResult;

    /// Given a learning rate and a Matrix of gradients for the biases,
    /// update the biases in the layer
    fn update_biases(&mut self, learning_rate: f64, gradient: &Matrix, batch_size: usize) -> BiasUpdateResult;

    fn get_output_len(&self) -> usize;
}