yarnn 0.1.0

Yet Another rust Neural Network framework
Documentation

pub trait Model<N, B, O> 
    where B: Backend<N>,
          O: Optimizer<N, B>
{
    fn init(&mut self, backend: &B);
    fn predict(&mut self, backend: &B, x: &B::Tensor);
    fn evaluate(&mut self, backend: &B, x: &B::Tensor, y: &B::Tensor) -> ConfusionMatrix;
    fn train(&mut self, backend: &B, optimizer: &O, x: &B::Tensor, y: &B::Tensor);
}

pub struct DefaultModel<N, B, O, L> 
    where B: Backend<N>,
          O: Optimizer<N, B>,
          L: AbstractLayer<N, B, O>
{
    inner: L,
    train_ctx: L::Context,
    evaluate_ctx: L::Context,
}

impl<N, B, O, L> Model<N, B, O> for DefaultModel<N, B, O, L> 

{
    fn init(&mut self, backend: &B) {

    }

    fn predict(&mut self, backend: &B, x: &B::Tensor) -> &B::Tensor {
        self.inner.forward(backend, x, self.evaluate_ctx);

        self.evaluate_ctx.outputs()
    }

    fn evaluate(&mut self, backend: &B, x: &B::Tensor, y: &B::Tensor) -> ConfusionMatrix {
        
    }

    fn train(&mut self, backend: &B, optimizer: &O, x: &B::Tensor, y: &B::Tensor) {
        
    }
}