Complete shape inference for splicing, einsum with ellipsis-in-the-middle
From the changelog:
Added
let%cd _ =
(andlet%op _ =
?) do not affect root tracking (intended for adding shape constraints).- More expressive shape constraints: allowing row variables to be sandwiched between leftmost axes
beg_dims
and rightmost axesdims
. - Einsum notation support for leftmost axes.
Changed
- Cleaned up "user-facing" API by moving
IDX
andCDSL
toTrain
, andTensor.O
to more preciseOperation.At
. - Added interface
Tensor.mli
to reduce "the user learning surface". - Improved documentation and layout of
Shape.mli
. - A more reasonable syntax for labels specifications and einsum notation. In particular, whitespace insensitive (except whitespace not allowed inside identifiers).
- Vendored the
npy
package while we wait for a PR.
Fixed
- Moved
cudajit
todepopts
. - Slice shape inference is now complete, by using leftmost axes
beg_dims
in constraints.