http://mxnet.apache.org/api/python/ndarray/ndarray.html#mxnet.ndarray.wherehtml
Return the elements, either from x or y, depending on the condition.python
Given three ndarrays, condition, x, and y, return an ndarray with the elements from x or y, depending on the elements from condition are true or false. x and y must have the same shape. If condition has the same shape as x, each element in the output array is from x if the corresponding element in the condition is true, and from y if false.apache
If condition does not have the same shape as x, it must be a 1D array whose size is the same as x’s first dimension size. Each row of the output array is from x’s row if the corresponding element from condition is true, and from y’s row if false.api
Note that all non-zero values are interpreted as True
in condition.spa
x = [[1, 2], [3, 4]] y = [[5, 6], [7, 8]] cond = [[0, 1], [-1, 0]] where(cond, x, y) = [[5, 2], [3, 8]] csr_cond = cast_storage(cond, 'csr') where(csr_cond, x, y) = [[5, 2], [3, 8]]
X,Y必须一样形状,而后条件能够为一样形状,也能够是一维的;条件为0,才为Y,不然正数,负数都为Xcode
from mxnet import nd ious = nd.array([[0.1,0.3,0.3],[0.9,0.4,0.01],[0,0.55,2],[0.56,0.77,3],[0.9,0.73,4]]) print(ious) label = [0. ,1., 1.] print(label) flag = nd.ones_like(ious) y = nd.full(ious.shape,0.5) for i, hard in enumerate(label): if hard == 1.0: flag[:,i] = ious[:,i] < 0.7 print(flag) ious = nd.where(flag,ious,y) print(ious)