Skip to content
版 本

ProposalConcat

产 品 支 持 情 况

产 品

是 否 支 持

Ascend 950PR/Ascend 950DT

x

Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品

x

Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品

x

Atlas 200I/500 A2 推 理 产 品

x

Atlas 推 理 系 列 产 品AI Core

Atlas 推 理 系 列 产 品Vector Core

x

Atlas 训 练 系 列 产 品

功 能 说 明

将 连 续 元 素 合 入Region Proposal内 对 应 位 置,每 次 迭 代 会 将16个 连 续 元 素 合 入 到16个Region Proposals的 对 应 位 置 里。

Region Proposal说 明:

目 前 仅 支 持 两 种 数 据 类 型:half、float。

每 个Region Proposal占 用 连 续8个half/float类 型 的 元 素,约 定 其 格 式:

Text
[x1, y1, x2, y2, score, label, reserved_0, reserved_1]

对 于 数 据 类 型half,每 一 个Region Proposal占16Bytes,Byte[15:12]是 无 效 数 据,Byte[11:0]包 含6个half类 型 的 元 素,其 中Byte[11:10]定 义 为label,Byte[9:8]定 义 为score,Byte[7:6]定 义 为y2,Byte[5:4]定 义 为x2,Byte[3:2]定 义 为y1,Byte[1:0]定 义 为x1。

如 下 图 所 示,总 共 包 含16个Region Proposals。

对 于 数 据 类 型float,每 一 个Region Proposal占32Bytes,Byte[31:24]是 无 效 数 据,Byte[23:0]包 含6个float类 型 的 元 素,其 中Byte[23:20]定 义 为label,Byte[19:16]定 义 为score,Byte[15:12]定 义 为y2,Byte[11:8]定 义 为x2,Byte[7:4]定 义 为y1,Byte[3:0]定 义 为x1。

如 下 图 所 示,总 共 包 含16个Region Proposals。

函 数 原 型

Text
template <typename T>
__aicore__ inline void ProposalConcat(const LocalTensor<T>& dst, const LocalTensor<T>& src, const int32_t repeatTime, const int32_t modeNumber)

参 数 说 明

表 1 模 板 参 数 说 明

参 数 名

描 述

T

操 作 数 数 据 类 型。

Atlas 训 练 系 列 产 品,支 持 的 数 据 类 型 为:half

Atlas 推 理 系 列 产 品AI Core,支 持 的 数 据 类 型 为:half/float

表 2 参 数 说 明

参 数 名 称

输 入/输 出

含 义

dst

输 出

目 的 操 作 数。

类 型 为LocalTensor,支 持 的TPosition为VECIN/VECCALC/VECOUT。

LocalTensor的 起 始 地 址 需 要32字 节 对 齐。

src

输 入

源 操 作 数。

类 型 为LocalTensor,支 持 的TPosition为VECIN/VECCALC/VECOUT。

LocalTensor的 起 始 地 址 需 要32字 节 对 齐。

源 操 作 数 的 数 据 类 型 需 要 与 目 的 操 作 数 保 持 一 致。

repeatTime

输 入

重 复 迭 代 次 数,int32_t类 型,每 次 迭 代 完 成16个 元 素 合 入 到16个Region Proposals里,下 次 迭 代 跳 至 相 邻 的 下 一 组16个Region Proposals和 下 一 组16个 元 素。取 值 范 围:repeatTime∈[0,255]。

modeNumber

输 入

合 入 位 置 参 数,取 值 范 围:modeNumber∈[0, 5],int32_t类 型,仅 限 于 以 下 配 置:
  • 0 – 合 入x1
  • 1 – 合 入y1
  • 2 – 合 入x2
  • 3 – 合 入y2
  • 4 – 合 入score
  • 5 – 合 入label

返 回 值 说 明

约 束 说 明

  • 用 户 需 保 证dst中 存 储 的proposal数 目 大 于 等 于 实 际 所 需 数 目,否 则 会 存 在tensor越 界 错 误。
  • 用 户 需 保 证src中 存 储 的 元 素 大 于 等 于 实 际 所 需 数 目,否 则 会 存 在tensor越 界 错 误。
  • 操 作 数 地 址 对 齐 要 求 请 参 见通 用 地 址 对 齐 约 束

调 用 示 例

详 细 示 例 请 参 考RegionProposalSort样 例

  • 接 口 使 用 样 例

    Text
    // repeatTime = 2, modeNumber = 4, 把32个 数 合 入 到32个Region Proposal中 的score域 中
    AscendC::ProposalConcat(dstLocal, srcLocal, 2, 4);
    
    Text
    示 例 结 果 
    输 入 数 据(src_gm):
    [ 33.3    67.56   68.5   -11.914  25.19  -72.8    11.79  -49.47   49.44
      84.4   -14.36   45.97   52.47   -5.387 -13.12  -88.9    54.    -51.62
     -20.67   59.56   35.72   -6.12  -39.4   -11.46   -7.066  30.23  -11.18
     -35.84  -40.88   60.9   -73.3    38.47 ]
    输 出 数 据(dst_gm):
    因 为moodel=4,第 一 个 元 素33.3的 起 始 位 置 是4。每 个Region Proposal占 用 连 续8个half/float类 型 的 元 素。这 里 使 用 的 类 型 是half。后 续 被 插 入 的 每 个 元 素 间 隔8个 元 素。repeat为2,每 次 迭 代 完 成16个 元 素,共 计32个 元 素
    [ 0.      0.      0.      0. 
      33.3    0.      0.      0.      0.      0.      0.      0.
      67.56   0.      0.      0.      0.      0.      0.      0.
      68.5    0.      0.      0.      0.      0.      0.      0.
      -11.914 0.      0.      0.      0.      0.      0.      0.
      25.19   0.      0.      0.      0.      0.      0.      0.
      -72.8   0.      0.      0.      0.      0.      0.      0.
      11.79   0.      0.      0.      0.      0.      0.      0.
      -49.47  0.      0.      0.      0.      0.      0.      0.
      49.44   0.      0.      0.      0.      0.      0.      0.
      84.4    0.      0.      0.      0.      0.      0.      0.
      -14.36  0.      0.      0.      0.      0.      0.      0.
      45.97   0.      0.      0.      0.      0.      0.      0.
      52.47   0.      0.      0.      0.      0.      0.      0.
      -5.387  0.      0.      0.      0.      0.      0.      0.
      -13.12  0.      0.      0.      0.      0.      0.      0.
      -88.9   0.      0.      0.      0.      0.      0.      0.
      54.     0.      0.      0.      0.      0.      0.      0.
      -51.62  0.      0.      0.      0.      0.      0.      0.
     -20.67   0.      0.      0.      0.      0.      0.      0.
     59.56    0.      0.      0.      0.      0.      0.      0.
     35.72    0.      0.      0.      0.      0.      0.      0.
     -6.12    0.      0.      0.      0.      0.      0.      0.
     -39.4    0.      0.      0.      0.      0.      0.      0.
     -11.46   0.      0.      0.      0.      0.      0.      0.
     -7.066   0.      0.      0.      0.      0.      0.      0.
     30.23    0.      0.      0.      0.      0.      0.      0.
     -11.18   0.      0.      0.      0.      0.      0.      0.
     -35.84   0.      0.      0.      0.      0.      0.      0.
     -40.88   0.      0.      0.      0.      0.      0.      0.
     60.9     0.      0.      0.      0.      0.      0.      0.
     -73.3    0.      0.      0.      0.      0.      0.      0.
     38.47    0.      0.      0. 
     ]
    

免 责 声 明:本 站 内 容 由 asc-devkit 仓 master 分 支 自 动 编 译 生 成,属 于 持 续 开 发 版 本,可 能 存 在 缺 陷,仅 供 预 览 与 参 考。如 需 稳 定 及 商 用 资 料,请 查 阅 官 方 昇 腾 社 区