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

Numpy-compatible Infra #15581

Merged
merged 46 commits into from
Aug 8, 2019
Merged

Numpy-compatible Infra #15581

merged 46 commits into from
Aug 8, 2019

Commits on Aug 7, 2019

  1. [Do not review] [Do not merge] New numpy-compatible sum (apache#14739)

    * Add numpy namespace and initial impl of np.sum (not complete)
    
    * Clean up
    
    * Fix import error
    
    * numpy sum
    
    * add test and backward data type support
    
    * add license to test_numpy_op.py
    
    * improve test to reduce flakiness
    
    * fix sanity build
    
    * extra numeric test and imperative test
    
    * add error message for initial argument
    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    2e09926 View commit details
    Browse the repository at this point in the history
  2. [numpy] Infra for supporting numpy ops in imperative mode and Gluon A…

    …PIs (apache#14758)
    
    * Infra of new ndarray and symbol types for numpy operators
    
    * Rename
    
    * Fix import problem
    
    * Refactor
    
    * Remove redundant code
    
    * Add docstring
    
    * More on numpy ndarray and symbol
    
    * Override unimplemented methdos for ndarray and _NumpySymbol
    
    * Fix built-in methods of ndarray and _NumpySymbol
    
    * Fix test and sanity check
    
    * Fix pylint
    
    * Address cr comments
    
    * Add unit tests for ndarray and _NumpySymbol
    
    * Add _true_divide
    
    * Fix gpu build
    
    * Add future import division
    
    * More correct way of checking if an output is from a np compat op
    
    * Fix gpu build
    
    * Fix output ndarray/symbol types with at least one new ndarray/symbol
    
    * Modify true_divide doc
    
    * Fix flaky copying zero-size arrays via gpus
    
    * Fix zero size in gluon hybridize and zeros/ones symbol not creating new symbol type
    
    * Fix doc
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    c8127ae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3a437ad View commit details
    Browse the repository at this point in the history
  4. [numpy] Numpy dot (apache#14831)

    * Numpy Dot case 1-4 + case 3.5 forward and 0.5 backward
    
    * Backward computation and test coverage
    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    2657af1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6c461f2 View commit details
    Browse the repository at this point in the history
  6. [numpy] Some np ops for d2l (apache#14924)

    * Add np transpose
    
    More ops and namespaces for submodules
    
    Add relu and sigmoid
    
    Add reshape
    
    Fix symbolic name mismatch
    
    Add maximum and minimum
    
    * Add convenience fluent method
    
    * Add ndarray.item()
    
    * Fix CI
    
    * Fix lint
    
    * Fix lint
    
    * Fix reshape gpu
    
    * Add example
    
    * Remove python notebook outputs
    
    * Remove notebook output
    
    * Add one more example
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    162eaa7 View commit details
    Browse the repository at this point in the history
  7. [numpy] Refactor np modules (apache#14989)

    * Refactor
    
    * Initial refactoring
    
    * Fix notebook
    
    * Move numpy op check from backend to frontend
    
    * Add homogeneous ndarray check
    
    * Fix grouping inhomogeneous types of symbols
    
    * Improve error handling of different types of symbols as outputs
    
    * Fix test
    
    * Fix numpy test
    
    * Fix ci
    
    * Try to fix gpu ci failure
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    aeaeb46 View commit details
    Browse the repository at this point in the history
  8. [numpy] Refactor np module (example runs through) (apache#15055)

    * Refactor notebook
    
    * notebook working with hybrid block
    
    * More refactoring
    
    * Remove unnecessary use_np_compat
    
    * Use class decorator to initialize numpy ndarrays in parameter.py
    
    * Clear notebook outputs
    
    * Improve np decorator
    
    * Remove npe op from optimizer
    
    * Fix CI
    
    * Fix functools.wraps issue in Python2
    
    * Fix ci
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    846a335 View commit details
    Browse the repository at this point in the history
  9. Change np_compat to np_shape

    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    fbd0a3b View commit details
    Browse the repository at this point in the history
  10. Temporarily disable test_amp

    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    131dbe3 View commit details
    Browse the repository at this point in the history
  11. Numpy-compatible stack (apache#15027)

    * numpy stack
    
    * migrate to use_np_shape
    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    4fe6cad View commit details
    Browse the repository at this point in the history
  12. Numpy Unary Ops (apache#15010)

    * Unary Ops
    
    * new version of unit tests
    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    25277a5 View commit details
    Browse the repository at this point in the history
  13. [numpy] Fix np branch after rebase (apache#15086)

    * Add np_array semantics for Gluon
    
    Fix notebook
    
    Fix sanity
    
    Fix gluon deferred infer shape
    
    Add np.random.uniform
    
    Add random normal
    
    Add boolean comparison ops
    
    Add np.ndarray indexing
    
    Reformat test ndarray indexing
    
    Fix unit tests
    
    Add one more test of indexing
    
    Fix sanity
    
    Enable amp test
    
    Add np.arange
    
    Revert cython unit test to ctypes
    
    Delete unnecessary use_np_shape decorator from test
    
    Rebase with numpy branch
    
    support range as index
    
    Fix python2 range type check
    
    Add argmax
    
    Disable clojure test
    
    * Fix ci
    
    * Add np.linalg.norm for ord='fro'
    
    * Fix pylint
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    9dc5e0a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    5d8f125 View commit details
    Browse the repository at this point in the history
  15. [WIP][numpy] Fix for D2L Chapters 2/3/4 (apache#15139)

    * Fix
    
    * Fix linear regression gluon
    
    * More fix
    
    * Fix pylint
    
    * Fix for chapter 4
    
    * Add np.add mul div mod pow sub and shuffle
    
    * Fix model selection, underfitting, overfitting
    
    * Fix weight decay
    
    * Fix dropout
    
    * Fix
    
    * Fix chapter 4
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    b4716a9 View commit details
    Browse the repository at this point in the history
  16. [numpy] Fix d2l performance regression (apache#15173)

    * Add np array adapter decorator for layers
    
    * Fix performance regression caused by too many conversions between nd.NDArray and np.ndarray
    
    * Fix pylint
    
    * Fix test backward compatibility issue
    
    * Fix test_lambda
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    049ded2 View commit details
    Browse the repository at this point in the history
  17. Fix (apache#15188)

    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    a584326 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    0d0f284 View commit details
    Browse the repository at this point in the history
  19. [numpy] Fix d2l chapter8 (apache#15237)

    * Add np op doc
    
    * Fix several issues
    
    * Add a N-D dot b 2D support
    
    * Simplify array creation api
    
    * Add swapaxes
    
    * Fix rnn gluon
    
    * More fix
    
    * Fix pylint
    
    * Delete
    
    * Fix mp windows
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    1d47418 View commit details
    Browse the repository at this point in the history
  20. fix for ch11 (apache#15244)

    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    8a2b41f View commit details
    Browse the repository at this point in the history
  21. Numpy-compatible split (apache#15049)

    * numpy split
    
    * numpy split
    
    * unit test
    
    * unit test
    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    820752f View commit details
    Browse the repository at this point in the history
  22. [numpy] [DO NOT MERGE] Fix d2l chapters 9 and 13 (apache#15246)

    * Add npx batch_dot and topk
    
    * Text embedding uses numpy
    
    * Fix SoftmaxCrossEntropyLoss with np
    
    * Fix sentiment cnn
    
    * Fix pylint
    
    * Fix dot attention
    
    * Fix seq2seq attention
    
    * Add np.tile
    
    * Fix transformer
    
    * Fix ci
    
    * Fix ci and rebase
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    21be6f8 View commit details
    Browse the repository at this point in the history
  23. [numpy] Fix d2l chapter 5 (apache#15264)

    * Fix parameter initializer
    
    * Add np.save and np.load
    
    * Fix read-write
    
    * Fix lint
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    a54a3f2 View commit details
    Browse the repository at this point in the history
  24. Numpy compatible max (apache#15161)

    * numpy amax
    
    * weird cu file diff
    
    * fix the unit test error
    
    * fix gpu bug
    
    * minor fix
    
    * fix lint
    
    * remove scalar value check
    
    * fix the bug on unit test
    
    * fix the case () that breaks the kernel launch
    
    * add zero dimension unit test
    
    * revert the tuple change
    
    * use mshadow maximum
    
    * remove test zero
    
    * change the macro for now
    
    * change the cuda to use mashadow op
    
    * fix the broadcast_reduce_op_value.cu wrong kernel
    
    * add more logic in shape to detect the invalid situation
    
    * change back to type swtich
    
    * change to as_nd_ndarray
    
    * add missing @npx.use_np_shape
    
    * retrigger CI
    
    * address the comment
    
    * undo algorithm import
    
    * remove the numeric gradient check
    stu1130 authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    6bd552f View commit details
    Browse the repository at this point in the history
  25. Numpy compatible multinomial (apache#15219)

    * draft of multinomial
    
    * rename to more concise name
    
    * finish shape
    
    * complete the forward function
    
    * complete forward without handle 0 dimension & scalar
    
    * handle 0 dimension
    
    * add new line
    
    * fix lint
    
    * fix the build error
    
    * fix lint
    
    * finish unit test
    
    * change the registration
    
    * make multinomial support pvals as mx.ndarray
    
    * delete newline
    
    * fix lint error
    
    * support input as list, mx.ndarray, np.ndarray & unit test
    
    * fix lint
    
    * fix the include error
    
    * fix lint
    
    * refactor & pass the tensor instead of tuple to kernel
    
    * fix lint
    
    * updata the doc
    
    * address the comment
    stu1130 authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    42d6760 View commit details
    Browse the repository at this point in the history
  26. Numpy compatible linspace (apache#15256)

    * draft
    
    * finish linspace implementation
    
    * finish linspace
    
    * delete newline
    
    * fix pylint
    
    * add more unit test
    
    * address comment
    
    * add more test case
    
    * disable too-many-arguments
    
    * resolve confliction
    
    * add ctx
    stu1130 authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    9f8d4a4 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    12aab7a View commit details
    Browse the repository at this point in the history
  28. [numpy] Misc fix for other chapters (apache#15332)

    * Add np.prod
    
    * Fix ndarray.reshape accepting positional integers as arguments
    
    * Rebase
    
    * Fix rebase error
    
    * Add np.ndarray.flatten
    
    * Fix
    
    * Add broadcast_to
    
    * Add meshgrid and broadcast_arrays
    
    * Fix sin, cos, sinh, cosh not supporting scalars
    
    * Add more unary ops supporting python scalars
    
    * Fix
    
    * Fix
    
    * Fix ci
    
    * Fix sanity
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    9cc355f View commit details
    Browse the repository at this point in the history
  29. [numpy] Change d2l chapters cv and gan to use numpy (apache#15368)

    * Change op name style to lower case underscore
    
    * Add ops under image to npx
    
    * Add image submodule to npx
    
    * Fix split_and_load use np
    
    * Fix fine tuning
    
    * Fix bbox and anchor
    
    * Fix odd
    
    * Fix ssd and rcnn
    
    * Remove restriction on binary element-wise scalar
    
    * Fix gan
    
    * Fix sanity
    
    * Try to fix website build failure
    
    * Add npx.random.seed
    
    * Fix doc
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    78c541f View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    5218a09 View commit details
    Browse the repository at this point in the history
  31. [numpy] Fix several places in numpy (apache#15398)

    * Fix
    
    * More fix
    reminisce authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    99a9b0a View commit details
    Browse the repository at this point in the history
  32. [numpy] fix cython (apache#15418)

    * add cython support for numpy
    
    * stay with original API for backward compatibility
    hzfan authored and haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    7caacd8 View commit details
    Browse the repository at this point in the history
  33. fix after rebase

    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    a8869b6 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    33f1cfb View commit details
    Browse the repository at this point in the history
  35. fix lint issues

    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    56ac957 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    ba54b26 View commit details
    Browse the repository at this point in the history
  37. remove numpy examples

    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    6b84d53 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    7e8deab View commit details
    Browse the repository at this point in the history
  39. remove numpy docs

    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    0b6f2c8 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    b2e48d9 View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    7ede112 View commit details
    Browse the repository at this point in the history
  42. Revert "remove numpy docs"

    This reverts commit c104695.
    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    024bedb View commit details
    Browse the repository at this point in the history
  43. get rid of most operators

    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    0e955a3 View commit details
    Browse the repository at this point in the history
  44. Revert "get rid of coverage in clang60 mkldnn"

    This reverts commit 77dc905.
    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    3262591 View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    275b063 View commit details
    Browse the repository at this point in the history
  46. address comments

    haojin2 committed Aug 7, 2019
    Configuration menu
    Copy the full SHA
    345c522 View commit details
    Browse the repository at this point in the history