zoukankan      html  css  js  c++  java
  • 4.1张量的操作(broadcasting维度自动扩张,拼接与拆分)

    1:Broadcasting维度的自动扩张

     特点:能够进行维度的自动扩张,而又不复制数据。

    使用例如下图:

     例如上图:A 形状为[4,32,14,14]的tensor与B 形状为[32]的tensor相加,首先需要右对齐,由于右对齐32与A最右边的

    的14不匹配,故需要先手动添加两个维度生成B [32,1,1],然后使用broadcasting进行自动扩张成[4,32,14,14]。

    【注】broadcasting可以使用的情况:只有维度为1的能与不相等的维度对齐。例如:1能与32对齐,3不能。

     

     2:cat(list,d)/stack(list,d)拼接

    (1)cat(list,d)参数list为需要拼接的tensor,参数d为需要拼接的索引维度。

     【注】需要拼接的索引维度的大小可以不同,其它必须相同。

     (2)stack(list,d)拼接:执行了两步:1:添加一个大小为1的维度 2:对添加的维度进行拼接 

    参数list为需要拼接的tensor,参数d为需要插入的维度也即是需要拼接的索引维度.

     【注】原来维度的大小必须相同。

    3:split(list,d)或者 split(int,d)拆分:参数list为要拆分索引维度的拆分的长度列表,d为要拆分的索引维度;int 为要拆分成等长的长度,d为要拆分的维度。

    Chunk(int,d)拆分:参数int为拆分的数量,d是需要拆分的索引维度

     

     【注】两者一个是按照长度进行拆分,一个是按照数量进行拆分。

  • 相关阅读:
    存在主义危机
    噪声干扰
    Jupiter 2 Modem State Codes
    广域网优化协议欺骗
    RF / IF 信号
    意识清晰九度
    m3u8downloader
    JS禁用浏览器退格键
    Ruby on rails开发从头来(五十一) ActiveRecord基础(并发处理)
    来自Rails世界的项目管理工具Redmine
  • 原文地址:https://www.cnblogs.com/jiafeng1996/p/14993325.html
Copyright © 2011-2022 走看看