关于nd.max函数梯度问题

x1 = nd.ones((4, 3))
x2 = nd.random.uniform(shape=(4, 3))
x1.attach_grad()
x2.attach_grad()
with autograd.record():
    y1 = nd.max(x1, axis=0)
    y2 = nd.max(x2, axis=0)
    y1.backward()
    y2.backward()
print(x1.grad)
print(x2.grad)

输出结果是

[[1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]
 [1. 1. 1.]]
<NDArray 4x3 @cpu(0)>

[[0. 0. 0.]
 [1. 0. 1.]
 [0. 1. 0.]
 [0. 0. 0.]]
<NDArray 4x3 @cpu(0)>

当nd.max输入的tensor的所有元素相同时,tensor的梯度不正确。

我的mxnet版本是1.6.0