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)

  • 相关阅读:
    前端文档
    vue手写骨架屏插件
    vue3 todolist
    微信公众号(小程序)利用客服接口主动给用户发送消息的方法
    使用docker-compose管理docker容器
    docker常用操作
    Declarative Pipeline语法介绍
    k8s集群dns问题解决办法
    K8S集群安装(四)使用helm安装应用
    k8s常用yaml-nginx、busybox
  • 原文地址:https://www.cnblogs.com/TreeDream/p/10209902.html
Copyright © 2011-2022 走看看