1
2
3
4
5
6
7
8
use crate::backend::ADBackend;
use crate::Tensor;

pub trait Gradients<B: ADBackend>: Send + Sync {
    fn empty() -> Self;
    fn get<const D: usize>(&self, id: &str) -> Option<&Tensor<B::InnerBackend, D>>;
    fn register<const D: usize>(&mut self, id: String, value: Tensor<B::InnerBackend, D>);
}