#![warn(missing_docs)]
pub mod activation;
pub mod dataloader;
pub mod dataset;
pub mod loss;
pub mod optimizer;
pub mod pooling;
pub mod transform;
use std::{error::Error, str::FromStr};
use crate::{tensor::Tensor, TensorElement};
pub struct Layer {}
pub fn convolution<'a, T>(
tensor: Tensor<'a, T>,
kernel: Tensor<'a, T>,
stride: usize,
padding: usize,
) -> Tensor<'a, T>
where
T: TensorElement,
<T as FromStr>::Err: Error,
{
todo!()
}
pub struct Net {
layers: Vec<Layer>,
}
pub trait Module {
fn init() -> Net;
fn forward(&mut self);
}