P8 PyTorch WhereGather

news2024/9/30 17:36:03

前言

        这两个函数优点是通过GPU 运算速度快

目录:

  1   where

   2  Gather

一   where

      原理:

         torch.where(condition,x,y)

        输入参数:

        condition: 判断条件

         x,y: Tensor

        返回值:

            符合条件时: 取x, 不满足取y

         优点: 可以使用GPU,加快运算速度

   

# -*- coding: utf-8 -*-
"""
Created on Thu Dec 22 21:48:02 2022

@author: cxf
"""
import torch

def statistics():
    ans = torch.rand(4,2)
    
    x = torch.tensor([[1,2],
               [1,2],
               [1,2],
               [1,2]])
    
    y = torch.tensor([[3,4],
               [3,4],
               [3,4],
               [3,4]])
    
    
    out =torch.where(ans>0.5,x,y)
    print("\n ans: \n",ans)
    
    print("\n out:  \n",out)

statistics()    

          

 


二 Gather

     输入:

              Input

     函数说明:

                    data. gather(dim=d, index=idx)

      输入参数:

                      index:  映射的索引值

                      data 的shape 和 index的shape 必须一致

                      但是各维度的size 可以不一致

                      dim:

                      映射的维度

     输出参数

                     输出张量的shape 的大小和index 一样

       

    例一 dim =0

   

# -*- coding: utf-8 -*-
"""
Created on Wed Dec 28 15:34:09 2022

@author: chengxf2
"""

import torch

def gather():
    data = torch.arange(1, 16, 1).view(3,5)
    
    
    print("\n\n",data.numpy())
    
    idx = torch.LongTensor([[0,0,1]])
    
    idx1 = torch.LongTensor([[0],
                             [0],
                             [2]])
    
    a = data.gather(dim=0, index= idx)
    b = data.gather(dim=0, index= idx1) 
    print("\n\n\n\n",a.numpy(),idx.shape)
    print("\n\n\n\n\n",b.numpy(),idx1.shape)
    
gather()

data 的shape [3,5]

   idx=[[0,0,2]]  shape [1,3]  

   0,0,1  分别代表取data[0,:]  data[0,:] .data[1,:],

            对应列为索引所在的位置  [0,0,1] 所在位置分别为 【0,1,2】

 输出为:

          

 同理  idx1=[[0],[0],[2]],shape: torch.Size([3, 1])

例2 dim=1


def gather():
    data = torch.arange(1, 16, 1).view(3,5)
    
    
    print("\n\n",data.numpy())
    
    idx = torch.LongTensor([[0,1,2]])
    
    idx1 = torch.LongTensor([[0],
                             [1],
                             [2]])
    
    a = data.gather(dim=1, index= idx)
    b = data.gather(dim=1, index= idx1) 
    print("\n\n\n\n",a.numpy(),idx.shape)
   
    print("\n\n\n\n\n",b.numpy(),idx1.shape)

  index 内元素值指定所在列,

   行是由index 元素所在行指定

输出的shape 保持一致

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/128523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关注re:Invent中国巡展,尽享数字时代红利

编辑|阿冒收获固然很甜蜜,但是收获也很辛苦。肯定会有人感觉莫名其妙,既然是收获,必然是甜蜜的,哪来的辛苦啊?且不要着急,容我慢慢分说。一年一度的亚马逊云科技re:Invent全球大会,向…

【操作系统】磁盘调度算法

文章目录影响其访问的时间因素磁盘调度(移臂调度)常见的磁盘调度算法1、先来先服务算法(FCFS)2、最短寻道时间优先算法(SSTF)3、电梯调度算法(扫描算法SCAN)4、循环扫描算法&#xf…

Microsoft Office 2016 VOL版下载

链接都是VOL版,和零售版功能是一样的,只是激活方便一些,三个下载链接,第一个是Office就是包含了Word、Excel、PPT那些的,另外两个一个是Visio,一个是Project,如果不需要的话,只下载第…

【HTML5】复习(二)

HTML5复习二1.代码一2.代码二3.CSS的引入方式4.选择器5.form表单的一些属性6.内联7. 音频视频8. 滑块、搜索、数字、URL9. 表单补充1.代码一 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head>&…

声明式事务的属性之隔离级别

声明式事务的属性之隔离级别 ①介绍 数据库系统必须具有隔离并发运行各个事务的能力&#xff0c;使它们不会相互影响&#xff0c;避免各种并发问题。一个事务与其他事务隔离的程度称为隔离级别。SQL标准中规定了多种事务隔离级别&#xff0c;不同隔离级别对应不同的干扰程度&…

智能家居创意DIY之智能灯泡

一、什么是智能灯 传统的灯泡是通过手动打开和关闭开关来工作。有时&#xff0c;它们可以通过声控、触控、红外等方式进行控制&#xff0c;或者带有调光开关&#xff0c;让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块&#xff0c;可与手机、家庭智能助手、或其他智能…

12.29日报

今天完成了数据库TestMrl的增删改查四个接口的开发&#xff0c;测试。 测试接口getQRcodeandscene 遇到的问题及解决 不知道在mapper中的增删改方法返回值int的值&#xff0c;和含义&#xff0c;在调用方法时也没有定义int来接参&#xff0c;都是直接调用。于是我定义int i&…

富丽宝石在港交所招股书再次“失效”,于海洋为控股股东

12月30日&#xff0c;贝多财经从港交所披露易了解到&#xff0c;富丽宝石国际控股有限公司&#xff08;下称“富丽宝石”&#xff09;在港交所的上市申请已经“失效”&#xff0c;目前已无法正常查看或下载。在此之前&#xff0c;富丽宝石先后于2021年6月28日、2022年6月29日在…

ERROR: PostCSS received undefined instead of CSS string

ERROR: PostCSS received undefined instead of CSS string 开发项目a的时候用的node版本比较低&#xff0c;拿到b项目的时候提示版本过低&#xff0c;要升级下node&#xff0c;本来想跟新下node的&#xff0c;后面发现nvm&#xff0c;node版本控制器&#xff0c;简单说就是下载…

Python Django入门

一、路由系统 1、Mac命令行安装django 环境 pip install django3.2 2、创建django项目 选择django项目 不同的py文件功能了解 urls.py views.py 可以使用django命令创建项目 1、Mac命令行安装django 环境 pip install django3.2 2、创建django项目 选择django项目 不通py…

中科院ZJ系列压电参数d33系数特性测试装置设计详细介绍

中科院ZJ系列压电参数d33系数特性测试装置设计详细介绍 中科院ZJ系列压电参数d33系数特性测试装置设计详细介绍 一、前沿分析&#xff1a;目前市场上主流的D33系数测试仪主要是中科院的ZJ-3型精密D33系数测量仪&#xff0c;ZJ-4型宽量程压电D33测量仪和ZJ-6型D33/31/D15型综合…

如何通过企业微信、飞书、钉钉消息通知接收双因子认证动态密码?

使用宁盾双因子认证H5令牌的用户每次登录时要切回到企业微信、飞书、钉钉工作台中&#xff0c;找到H5令牌小程序&#xff0c;点进去看动态码。记住或复制动态码后再切回登录界面输入验证。 路径合理&#xff0c;但实际使用场景下不够便捷。用户体验能否再优化&#xff1f; 这个…

Rockchip RK3566 Camera点亮

一.camera名词解释 在现代移动设备中&#xff0c;常用一种接口用来连接SOC和LCD和Camera,这种接口就是MIPI 其中SOC和LCD连接叫 DSI&#xff08;DisplayCommandSet&#xff09;,SOC和Camera连接叫CSI&#xff08;DisplaySerialInterface&#xff09;。 二.camera数据通路 一般…

collect2.exe: error: ld returned 1 exit status分析与解决

这里写自定义目录标题1、问题描述2、分析3、解决办法4、总结5、码字不易&#xff0c;点赞&#xff01;&#xff01;&#xff01;1、问题描述 Windows下进行网络编程&#xff0c;devc&#xff0c;运行.cpp程序时报如下错&#xff1a; [Error] ld returned 1 exit status报错图…

WebCollector

1.WebCollector简介 WebCollector也是一个基于Java的开源网络爬虫框架&#xff0c;其支持多线程、深度采集、URL维护及结构化数据抽取等。WebCollector项目的源码可以在GitHub上进行下载。相比于Crawler4j&#xff0c;WebCollector的可扩展性和适用性更强&#xff0c;如可以实现…

Labelme分割标注的使用(非常好)

博客转自于: Labelme分割标注软件使用 1. Labelme的使用 这里建议大家按照我提供的目录格式事先准备好数据&#xff0c;然后在该根目录下启动labelme&#xff08;注意启动目录位子&#xff0c;因为标注json文件中存储的图片路径都是以该目录作为相对路径的&#xff09; ├─…

Live800:降低客服成本,你必须了解的事

无论是售前咨询还是售后服务&#xff0c;咨询客服都是客户的“必经之路”&#xff0c;因此客服又被称为企业形象的“代言”、品牌美誉的“前台”、企业文化的一面“镜子”。 然而网友关于客服的吐槽&#xff0c;我们不时可以见到&#xff0c;有的客服答非所问&#xff0c;对产品…

一次明白 JDBC,ORM,JPA,SpringDataJPA 之间的关系

java持久层框架访问数据库一般有两种方式&#xff1a; 以SQL为核心&#xff0c;封装JDBC操作&#xff0c;如&#xff1a;MyBatis以java实体类为核心&#xff0c;将实体类和数据库表之间映射的ORM框架&#xff0c;比如&#xff1a;Spring Data JPA和Hibernate 接下来就是详细的…

blender指定地图影像数据作为背景

qgis导出一个层刚好温和 然后 切换到shading 默认只有表面化 bsdf 点击添加 图片纹理 选择图片&#xff0c;然后把那个颜色拦截到基础色就ok了&#xff0c;操作方法和ue类似 image.pnguv editing必须进入编辑模式 方可操作&#xff0c;如果要刚好铺满整个框&#xff0c;要开启那…

Django 学习 Day10

1.聚合查询 聚合查询是指对一个数据表中的一个字段的数据进行部分或全部的统计查询。差Book数据表中的全部书的平均价格、查询所有书的总数等都需要使用聚合查询。 聚合查询分为&#xff1a; &#xff08;1&#xff09;整表聚合 聚合函数的导入&#xff1a; from django.db.…