You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For any rank higher than 0, literals such as 42 have ambiguous shape and in ranked tensors this ambiguity usually can't be resolved. Branch https://github.com/Mikolaj/horde-ad/tree/ban-ambiguous-shape bans such cases (actually rank 1 is there permitted, optimistically), but the checks are triggered by a large portion of our tests, probably rightly so. Tests are more important than correctness, so for now this check can't be enabled.
If we switch to shaped tensors, this is no longer a problem. Alternatively, we may try to extend horde-ad and orthotope with a mechanism similar to what hmatrix describes in its haddocks: "In most operations, single-element vectors and matrices (created from numeric literals or using scalar), and matrices with just one row or column, automatically expand to match the dimensions of the other operand".
It's possible horde-ad has some other ways of resolving the ambiguity that I don't remember, e.g., for orphan instances of ranked tensors. That would explain why the tests make sense. Perhaps these ways can be improved and extended to other layers of the horde-ad pipeline.
Edit: there are currently a couple of workarounds in place, e.g., dScaleByScalar.
The text was updated successfully, but these errors were encountered:
For any rank higher than 0, literals such as
42
have ambiguous shape and in ranked tensors this ambiguity usually can't be resolved. Branch https://github.com/Mikolaj/horde-ad/tree/ban-ambiguous-shape bans such cases (actually rank 1 is there permitted, optimistically), but the checks are triggered by a large portion of our tests, probably rightly so. Tests are more important than correctness, so for now this check can't be enabled.If we switch to shaped tensors, this is no longer a problem. Alternatively, we may try to extend horde-ad and orthotope with a mechanism similar to what hmatrix describes in its haddocks: "In most operations, single-element vectors and matrices (created from numeric literals or using scalar), and matrices with just one row or column, automatically expand to match the dimensions of the other operand".
It's possible horde-ad has some other ways of resolving the ambiguity that I don't remember, e.g., for orphan instances of ranked tensors. That would explain why the tests make sense. Perhaps these ways can be improved and extended to other layers of the horde-ad pipeline.
Edit: there are currently a couple of workarounds in place, e.g.,
dScaleByScalar
.The text was updated successfully, but these errors were encountered: