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)