zoukankan      html  css  js  c++  java
  • nd.array.where

    http://mxnet.apache.org/api/python/ndarray/ndarray.html#mxnet.ndarray.where

    Return the elements, either from x or y, depending on the condition.

    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.

    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.

    Note that all non-zero values are interpreted as True in condition.

    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,否则正数,负数都为X

    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)

  • 相关阅读:
    静态链接与动态链接的区别(转载)
    VC++界面编程之--阴影窗口的实现详解
    win7 vmware 无法使用usb
    如何划分子网,确定子网和掩码的位数?
    华为三层交换机-路由-硬件防火墙的配置
    jquery json ajax -2
    jquery json ajax
    wes开发笔记
    伪类和伪元素
    优化sql语句
  • 原文地址:https://www.cnblogs.com/TreeDream/p/10209902.html
Copyright © 2011-2022 走看看