torch 多维topk
        【摘要】    
flatten和view(-1) 是按行展开,一行一行的拼接 
 import torch   anch_ious = torch.Tensor([[1, 2, 3,4], [7,8,9,3]]) # anch_ious = torch.Tensor([[1, 2, 3,4], [4, 5, 6,7]]).view(-1)   neg_count=3 top_...
    
    
    
    
flatten和view(-1) 是按行展开,一行一行的拼接
  
   - 
    
     
    
    
      import torch
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
       anch_ious = torch.Tensor([[1, 2, 3,4], [7,8,9,3]])
     
    
 
   - 
    
     
    
    
      # anch_ious = torch.Tensor([[1, 2, 3,4], [4, 5, 6,7]]).view(-1)
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
       neg_count=3
     
    
 
   - 
    
     
    
    
     
       top_data,index= torch.topk(anch_ious, neg_count, dim=1, largest=True, sorted=True, out=None)
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
      # print(anch_ious[index])
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
       index_num = torch.arange(0, anch_ious.size(0)).repeat(3,1)
     
    
 
   - 
    
     
    
    
     
       index_num=torch.flatten(index_num.t())
     
    
 
   - 
    
     
    
    
     
       print(index_num)
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
      # indexs = index[:, 1:]
     
    
 
   - 
    
     
    
    
     
       index = torch.flatten(index)
     
    
 
   - 
    
     
    
    
      
     
    
 
   - 
    
     
    
    
     
       print(anch_ious[index_num,index])
     
    
 
  
 
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/104820949
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)