Differences with torch.bucketize
torch.bucketize
torch.bucketize(input, boundaries, *, out_int32=False, right=False, out=None)
For more information, see torch.bucketize.
mindspore.ops.bucketize
class mindspore.ops.bucketize(input, boundaries, *, right=False)
For more information, see mindspore.ops.bucketize.
Usage
MindSpore API functions is consistent with that of PyTorch, with differences in the data types supported by the parameters.
PyTorch: input
supports the scalar and Tensor types. boundaries
supports the Tensor type, and the data type of the returned index can be specified via out_int32
.
MindSpore: input
supports Tensor type. boundaries
supports list type, no out_int32
parameter.
Categories |
Subcategories |
PyTorch |
MindSpore |
Difference |
---|---|---|---|---|
Parameters |
Parameter 1 |
input |
input |
Consistent functiona, different supported data types |
Parameter 2 |
boundaries |
boundaries |
Consistent function, different supported data types |
|
Parameter 3 |
out_int32 |
- |
PyTorch |
|
Parameter 4 |
right |
right |
Consistent |
|
Parameter 5 |
out |
- |
PyTorch |
Code Example
import torch
boundaries = torch.tensor([1, 3, 5, 7, 9])
v = torch.tensor([[3, 6, 9], [3, 6, 9]])
out1 = torch.bucketize(v, boundaries)
out2 = torch.bucketize(v, boundaries, right=True)
print(out1)
# out:
# tensor([[1, 3, 4],
# [1, 3, 4]])
print(out2)
# out:
# tensor([[2, 3, 5],
# [2, 3, 5]])
from mindspore import Tensor, ops
boundaries = [1, 3, 5, 7, 9]
v = Tensor([[3, 6, 9], [3, 6, 9]])
out1 = ops.bucketize(v, boundaries)
out2 = ops.bucketize(v, boundaries, right=True)
print(out1)
# out:
# [[1 3 4]
# [1 3 4]]
print(out2)
# out:
# [[2 3 5]
# [2 3 5]]