asc.language.basic.proposal_extract

asc.language.basic.proposal_extract(dst: LocalTensor, src: LocalTensor, repeat_time: int, mode_number: int) None

与proposal_concat功能相反,从Region Proposals内将相应位置的单个元素抽取后重排,每次迭代处理16个Region Proposals,抽取16个元素后连续排列。

对应的Ascend C函数原型

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

参数说明

  • dst:目的操作数。

  • src:源操作数,数据类型需与dst一致。

  • repeat_time:重复迭代次数。每次迭代处理16个Region Proposals的元素抽取并重排,下次迭代跳至相邻的下一组16个Region Proposals。取值范围:repeatTime∈[0,255]。

  • mode_number:抽取位置参数,取值范围:modeNumber∈[0,5] - 0:抽取x1 - 1:抽取y1 - 2:抽取x2 - 3:抽取y2 - 4:抽取score - 5:抽取label

约束说明

  • 用户需保证src中存储的proposal数量不小于实际所需数量,否则可能发生tensor越界。

  • 用户需保证dst中可容纳的元素数量不小于实际抽取数量。

  • 操作数地址需满足通用对齐约束(32字节对齐)。

调用示例

asc.proposal_extract(dst, src, repeat_time=2, mode_number=4)