Numpy 函数 (一) squeeze(), unsquezze()

news/2024/11/15 8:11:07/

1. np.squeeze()

syn: np.squeeze(a,axis=None)

Notice:

1. a 表示输入的数组

2. axis表示指定需要删除的维度,但是指定的维度必须为单个维度,否则会报错

3. axis 取值可以为None, int, tuple of ints, 或者 axis 为空则表示删除所有单个维度

4.返回值:数组

5. 不会在原来的数组上修改

 参考:np.squeeze() 参考

2. array 操作

 

  • numpy.copyto
  • numpy.shape
  • numpy.reshape
  • numpy.ravel
  • numpy.ndarray.flat
  • numpy.ndarray.flatten
  • numpy.moveaxis
  • numpy.rollaxis
  • numpy.swapaxes
  • numpy.ndarray.T
  • numpy.transpose
  • numpy.atleast_1d
  • numpy.atleast_2d
  • numpy.atleast_3d
  • numpy.broadcast
  • numpy.broadcast_to
  • numpy.broadcast_arrays
  • numpy.expand_dims
  • numpy.squeeze
  • numpy.asarray
  • numpy.asanyarray
  • numpy.asmatrix
  • numpy.asfarray
  • numpy.asfortranarray
  • numpy.ascontiguousarray
  • numpy.asarray_chkfinite
  • numpy.require
  • numpy.concatenate
  • numpy.stack
  • numpy.block
  • numpy.vstack
  • numpy.hstack
  • numpy.dstack
  • numpy.column_stack
  • numpy.row_stack
  • numpy.split
  • numpy.array_split
  • numpy.dsplit
  • numpy.hsplit
  • numpy.vsplit
  • numpy.tile
  • numpy.repeat
  • numpy.delete
  • numpy.insert
  • numpy.append
  • numpy.resize
  • numpy.trim_zeros
  • numpy.unique
  • numpy.flip
  • numpy.fliplr
  • numpy.flipud
  • numpy.reshape
  • numpy.roll
  • numpy.rot90

3. torch.squezze()

目的:降低维度

将输入的张量形状中为1的去除并且返回.如果输入是想A*1*C*1. 则输出为A*B形状

如果给定dim , 对tensor进行挤压或者压缩时,则会对该维度进行压缩.如果维度的形状为1,则会被压缩.如果该形状的维度不是1, 则该维度的形状不会被压缩.

input: A*1*C,  torch.squeeze(input,0) , 该input 则会保持不变

input: A*1*C, torch.squeeze(input,1), 该维度则会改变形状变成A*C

意义: 多维张量的本质上就是一个变换.如果张量的维度是1. 那么, 1仅仅起到了扩充维度的作用. 而没有其他用途. 因为, 在进行降维操作时,为了加快计算,可以去掉这些维度.

4. tensor.unsqueeze_()

unsqueeze和unsqueeze_实现的功能是一样的. 区别在于unsqueeze_是in_place 操作, 即unsqueeze不会在原来的张量上进行操作. 不对对unsqueeze的张量进行改变.所以unsqueeze后必须赋予一个新的值. unsqueeze_则会对自己进行改变.

5. torch.unsqueeze()

torch.unsqueeze(input, dim, out=None)

目的:扩展维度

返回一个新的张量, 对输入的既定位置插入维度1

注意:返回张量和输入张量共享内存, 所以改变一个的内容,另一个的内容也会改变.


http://www.ppmy.cn/news/74209.html

相关文章

Linux内核模块编程

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 1 总体设计思路 Linux内核是单体式结构,相对于微内核结构而言,其运行效率高,但是系统的可维护性和可扩展性较差。为此,Linux提供了内核模块(module)机制&…

埃尔德动力系统指标公式,衡量趋势的惯性和能量

亚历山大埃尔德(Alexander Elder)在其经典著作《以交易为生》(原书第2版)新增了一个工具——动力系统(Impulse System),不过书中只介绍了动力系统的指标以及使用方法,并没有介绍系统的参数。其实动力系统在埃尔德2002年出版的《走…

戴尔 dell Inspiron3670电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板B360 处理器i5-9400已驱动 内存8GB已驱动 硬盘KBG40ZNS256G NVMe KIOXIA 256GB ST1000DM010 1TB已驱动 显卡UHD630(1.05GHZ)已驱动 声卡Realte…

Docker与Docker-compose安装Vulfocus Vulhub漏洞环境

目录 一.docker 和 docker-compose 介绍: docker: docker-compose: 二者的区别: 二者的联系: 二者的总结: 二.Centos 7安装Docker 三.Centos 7安装docker-compose 四.docker-compose搭建Vulhub漏…

《论文阅读》利用远程监督选择知识用于对话回复生成

《论文阅读》利用远程监督选择知识用于对话回复生成 前言简介动机相关知识知识对话系统的步骤多样性回复的方法抽取知识oracle label问题定义模型框架EncoderTask1: 合理地获得 oracle knowledge 作为 gold knowledgeTask2:使得selected knowledge与oracle knowledge一致Task3…

【SpringBoot】八:Web服务---WebMvcConfigurer

文章目录 1.WebMvcConfigurer简介2. 页面跳转控制器3. 数据格式化4. 拦截器4.1 一个拦截器4.2 多个拦截器 1.WebMvcConfigurer简介 WebMvcConfigurer是SpringMVC xml配置文件的JavaConfig实现方式。 2. 页面跳转控制器 创建 SpringMVC 配置类: 3. 数据格式化 Formatter&…

matplotlib使用 LaTeX 进行文本渲染

matplotlib使用 LaTeX 进行文本渲染 Matplotlib可以使用LaTeX来渲染文本。这是通过在rcParams中设置 text.usetex : True 来激活,或者通过在单个 Text 对象上将 usetex 属性设置为 True 来激活。通过LaTeX进行的文本处理比Matplotlib功能强大的mathtext慢&#xff…

06 Android开机启动之Bootanimation

Android开机启动之Bootanimation 前言 手机或其他Android智能终端开机都会先显示一个动画,然后才进入桌面,接下来看看这个bootanimation程序是怎么跑的 一、bootanimation框图 从上面的启动框图中可以看出: bootanimation也是init进程启动的,在init.rc中启动bootanim进程启…