Skip to content

Complete shape inference for splicing, einsum with ellipsis-in-the-middle

Compare
Choose a tag to compare
@lukstafi lukstafi released this 22 Apr 22:00
· 395 commits to master since this release

From the changelog:

Added

  • let%cd _ = (and let%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 axes dims.
  • Einsum notation support for leftmost axes.

Changed

  • Cleaned up "user-facing" API by moving IDX and CDSL to Train, and Tensor.O to more precise Operation.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 to depopts.
  • Slice shape inference is now complete, by using leftmost axes beg_dims in constraints.