zoukankan      html  css  js  c++  java
  • Pytorch中的squeeze()和unsqueeze()函数

    在numpy库中,经常会出现“秩为1的一维数组”(come from 吴恩达的深度学习,目前还没有搞清楚numpy中如此设计的意图)。比如:

            

    注意这里的a的shape是[3] ,既不是 [1,3] 也不是 [3,1]。这就说明它既不是行向量也不是列向量,只是一个数组。

    但是我们可以用squeeze()和unsqueeze()对其进行操作,比如:

           

    在对这两个函数讲解之前,我们先统一一下定义:

    In  : x.shape
    Out: torch.Size( [ a , b , c ] )

    这里我们说a是第一个维度(表示第一个维度的数量是a),b是第二个维度(表示第一个维度的数量是b),c是第三个维度(表示第三个维度的数量是c)

    简而言之,unsqueeze(arg)是增添第arg个维度为1,以插入的形式填充。比如:

           

           

    相反,squeeze(arg)是删除第arg个维度(如果当前维度不为1,则不会进行删除),比如:

           

  • 相关阅读:
    Git的安装与配置
    JDBCTemplate
    消费金融大数据风控架构
    架构设计之道
    面向服务架构SOA
    java集合List解析
    web应用安全
    微服务的交互模式
    服务化管理和治理框架的技术选型
    分库分表就能无限扩容么?
  • 原文地址:https://www.cnblogs.com/JeasonIsCoding/p/10162250.html
Copyright © 2011-2022 走看看