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

Improve unary and binary ufuncs' compatibility with NumPy and refactor unit tests #16423

Merged
merged 1 commit into from
Oct 18, 2019

Conversation

haojin2
Copy link
Contributor

@haojin2 haojin2 commented Oct 10, 2019

Description

Add wrapper for unary and binary ufuncs to provide better error handling when given unsupported arguments and raise proper messages to users.

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 https://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

  • Decorator for unary and binary ufuncs.
  • Refactor of binary funcs' unit tests
  • Additional error handling tests for both unary and binary ufuncs

Comments

Flakiness checked locally:

MXNET_TEST_COUNT=10000 nosetests -s -v tests/python/unittest/test_numpy_op.py:test_np_binary_funcs
test_numpy_op.test_np_binary_funcs ... ok

----------------------------------------------------------------------
Ran 1 test in 10085.791s

OK

MXNET_TEST_COUNT=10000 nosetests -s -v tests/python/gpu/test_operator_gpu.py:test_np_binary_funcs
[INFO] Setting module np/mx/python random seeds, use MXNET_MODULE_SEED=1229063081 to reproduce.
test_operator_gpu.test_np_binary_funcs ... ok

----------------------------------------------------------------------
Ran 1 test in 12562.576s

OK

@haojin2 haojin2 added the Numpy label Oct 10, 2019
@haojin2 haojin2 requested a review from szha as a code owner October 10, 2019 07:30
@haojin2 haojin2 self-assigned this Oct 10, 2019
@haojin2 haojin2 force-pushed the np_ufunc_wrapper branch 9 times, most recently from a74f6cd to bbb86f2 Compare October 15, 2019 19:31
Copy link
Contributor

@reminisce reminisce left a comment

Choose a reason for hiding this comment

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

LGTM

@reminisce reminisce merged commit f6cfbdf into apache:master Oct 18, 2019
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.

2 participants