Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Several libraries exist that support a broad subset of the Numpy API,
but with different underlying data structures:
With the
__array_ufunc__
protocol these can support numpy functionslike np.sin directly.
Previously these would not work with autograd because their types and
functions were not registered.
However, to the extent that they support the numpy API directly (which
is increasingly becoming the case) we can just hijack the existing
function mappings for Numpy functions.
This commit replaces two explicit type checks with more flexible tests
that check for "array-like" behavior. If so then they return the
corresponding numpy function.
There are several things wrong with this commit as it stands:
typeof
which can probably be improvedMy initial goal here is just to start conversation and see if this is of interest.