Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

[Numpy] Numpy copysign #15851

Merged
merged 3 commits into from
Sep 15, 2019
Merged

[Numpy] Numpy copysign #15851

merged 3 commits into from
Sep 15, 2019

Conversation

hzfan
Copy link
Contributor

@hzfan hzfan commented Aug 11, 2019

Description

Numpy compatible copysign

Checklist

Essentials

Please feel free to remove inapplicable items for your PR.

  • The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage:
  • Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
  • Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
  • Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
  • Code is well-documented:
  • For user-facing API changes, API doc string has been updated.
  • For new C++ functions in header files, their functionalities and arguments are documented.
  • For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
  • Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
  • To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

  • add copysign, including doc and test

Comments

@hzfan hzfan requested a review from szha as a code owner August 11, 2019 17:57
Copy link
Contributor

@haojin2 haojin2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

expected_np = _np.copysign(a1_np, a2_np)
with mx.autograd.record():
mx_out = test_copysign(a1, a2)
assert mx_out.shape == expected_np.shape
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test if mx_out.dtype matches expected_np.dtype. I think we can later add a utility to match the shape + dtype.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ignore my previous comments. I think we'd better check the return types after we support arbitrary dtype combinations in deepnumpy. So it's okay to not check the return types now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that in the future we should do it, after more dtypes and casting is supported.

@sxjscience sxjscience merged commit 90091b1 into apache:master Sep 15, 2019
larroy pushed a commit to larroy/mxnet that referenced this pull request Sep 28, 2019
* add numpy compatible copysign

* fix scalar op registration error

* add test
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants