zheng-da commented on a change in pull request #13687: split_v2 operator
URL: https://github.com/apache/incubator-mxnet/pull/13687#discussion_r243340107
##########
File path: python/mxnet/symbol/symbol.py
##########
@@ -2967,4 +2980,44 @@ def histogram(a, bins=10, range=None, **kwargs):
return _internal._histogram(data=a, bin_cnt=bins, range=range,
**kwargs)
raise ValueError("bins argument should be either an integer or an NDArray")
+def split_v2(ary, indices_or_sections, axis=0, squeeze_axis=False):
+ """Split an array into multiple sub-arrays.
+
+ Parameters
+ ----------
+ ary : NDArray
+ Array to be divided into sub-arrays.
+ indices_or_sections : int or tuple of ints
+ If `indices_or_sections` is an integer, N, the array will be divided
+ into N equal arrays along `axis`. If such a split is not possible,
+ an error is raised.
+ If `indices_or_sections` is a 1-D array of sorted integers, the entries
+ indicate where along `axis` the array is split. For example,
+ ``[2, 3]`` would, for ``axis=0``, result in
+ - ary[:2]
+ - ary[2:3]
+ - ary[3:]
+ If an index exceeds the dimension of the array along `axis`,
+ an empty sub-array is returned correspondingly.
+ axis : int, optional
+ The axis along which to split, default is 0.
+ squeeze_axis: boolean, optional
+ Whether to squeeze the axis of sub-arrays or not, only useful when size
+ of the sub-arrays are 1 on the `axis`. Default is False.
+
+ Returns
+ -------
+ out : Symbol
+ The created Symbol
+ """
+ indices = []
+ sections = 0
+ if isinstance(indices_or_sections, int):
+ sections = indices_or_sections
+ elif isinstance(indices_or_sections, tuple):
+ indices = [0] + list(indices_or_sections)
+ else:
+ raise ValueError('indices_or_sections must either int or tuple of
ints')
+ return _internal._split_v2(ary, indices, axis, squeeze_axis, sections)
Review comment:
why the symbol implementation and ndarray implementation are different? the
ndarray impl always computes indices and here it may pass the number of
sections directly.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services