Add some more developed training examples. (#199)

* Use contiguous tensors for variables.

* Sketch the mnist example.

* Start adding the reduce ops.

* Renaming.

* Refactor the reduce operations.

* Bugfix for the broadcasting vectorization.
This commit is contained in:
Laurent Mazare
2023-07-19 16:37:52 +02:00
committed by GitHub
parent 67e20c3792
commit cb687b4897
10 changed files with 232 additions and 65 deletions

View File

@ -29,6 +29,8 @@ pub(crate) enum Op {
add: f64,
},
Sum(Tensor, Vec<usize>),
Max(Tensor, Vec<usize>),
Min(Tensor, Vec<usize>),
ToDType(Tensor),
Broadcast(Tensor),
Exp(Tensor),
@ -354,3 +356,10 @@ impl UnaryOp for Relu {
v
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ReduceOp {
Sum,
Min,
Max,
}