CANN/ops-cv一维线性上采样
UpsampleLinear1d【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv产品支持情况产品是否支持Ascend 950PR/Ascend 950DT×Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品×Atlas 推理系列产品×Atlas 训练系列产品×功能说明算子功能对由多个输入通道组成的输入信号应用线性插值算法进行上采样。如果输入shape为(N, C, L)则输出shape为(N, C, outputSize)。计算公式核心算法逻辑将目标图像的每一个点映射回原图得到一个带小数点的坐标。根据这个浮点数坐标计算前后相邻的原始图像的点。分别计算相邻点到对应目标点的权重按照权重相乘累加即可得到目标点值。具体计算逻辑 缩放方式分为角对齐和边对齐角对齐表示按照原始图片左上角像素中心点对齐边对齐表示按照原始图片左上角顶点及两条边对齐在计算缩放系数和坐标位置时存在差异。则有以下公式$$ scale \begin{cases} (self.dim[2]-1) / (outputSize[0]-1) alignCornerstrue \ 1 / scales alignCornersfalsescales0\ self.dim[2] / outputSize[0] alignCornersfalse \end{cases} $$因此对于output的某个方向上的点p(x)映射回原始图像中的点记为q(x)则有关系$$ x \begin{cases} x * scale_h alignCornerstrue \ MAX(0,{(x0.5)*scale_h-0.5}) alignCornersfalse \end{cases} $$记$$ x_{0} int(x),x_{1} int(x)1, lambda_{0} x_{1}-x, lambda_{1} 1-lambda_{0} $$则有以下公式$$ {V(p_{x})} {V(p_{x0})} * {lambda_{0}} {V(p_{x1})} * {lambda_{1}} $$参数说明参数名输入/输出/属性描述数据类型数据格式x输入表示进行上采样的输入张量对应公式中的self。FLOAT32、FLOAT16、BFLOAT16NDsize输入指定输出空间大小对应公式中的outputSize。size为1且取值大于0。表示指定y在H和W维度上的空间大小。INT32-align_corners可选属性决定是否对齐角像素点对应公式中的alignCorners。如果设置为true则输入和输出张量按其角像素的中心点对齐保留角像素处的值如果设置为false则输入和输出张量通过其角像素的角点对齐并且插值使用边缘值填充用于外界边值。默认值为false。BOOL-scales可选属性表示输出y的L维度乘数对应公式中的scales。无默认值。FLOAT32-y输出表示采样后的输出张量对应公式描述中的output。数据类型、数据格式与入参x的数据类型、数据格式保持一致。FLOAT32、FLOAT16、BFLOAT16ND约束说明无调用说明调用方式样例代码说明aclnn接口test_aclnn_upsample_linear1d通过aclnnUpsampleLinear1d接口方式调用UpsampleLinear1d算子。【免费下载链接】ops-cv本项目是CANN提供的图像处理、目标检测相关的算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-cv创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2599329.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!