Package visibility, sanitizing code inclusion (rootness checks)
This is a small incremental release:
- making the project API visible from outside the package,
- providing saving and restoring tensors,
- preventing some user bugs by "rootness checks" (regarding when code pieces are included with tensor references).
From the changelog:
Added
- Tensor parameters saving and restoring, Ndarray saving and restoring.
- An operation
outer_sum
: likeeinsum
but simpler, addition everywhere.
Changed
- Tweaks to make the project usable as a package (external library).
- Sanitizing code inclusion via code roots management:
Tensor.consume_forward_code
andconsume_backprop_code
, (optionally but by default) used fromTrain
.
Fixed
- Shape inference in presence of non-0 fixed indexing inside einsums was broken (because actually not implemented).
- Incompleteness of shape inference for slicing was leading to inferring shapes with no axes: constraint generation was intended to raise a shape error instead. Proper fix coming in 0.3.2 will make slice shape inference complete.