Ops and outputs are now also typed (similar to tensors). Their type parameters are the Scala equivalent of TensorFlow types. For example:
// These are valid types:
Tensor[Int]
Output[Int]
Output[Double]
Op[(Output[Int], Output[Double]), Output[Long]]
// while these are not:
Tensor[INT32]
Output[INT32]
Output[FLOAT64]
This also results in:
Simplification of many interfaces. For example, Dataset[T, O, D, S] now becomes Dataset[T]. Similarly, Iterator[T, O, D, S] now becomes DatasetIterator[T].
First steps towards type safe auto-differentiation.
Removes the dependency on spire.
NOTE: This does not compile yet, but I'm working actively on getting it ready.
Ops and outputs are now also typed (similar to tensors). Their type parameters are the Scala equivalent of TensorFlow types. For example:
This also results in:
Dataset[T, O, D, S]
now becomesDataset[T]
. Similarly,Iterator[T, O, D, S]
now becomesDatasetIterator[T]
.spire
.NOTE: This does not compile yet, but I'm working actively on getting it ready.