营销型网站开发定制竞赛网站建设风险评估

张小明 2026/1/11 6:12:50
营销型网站开发定制,竞赛网站建设风险评估,做网站怎么做付费推广,好的活动策划网站AdaptiveMaxpool3D功能说明文档#xff1a;https://gitcode.com/cann/ops-nn/blob/master/pooling/adaptive_max_pool3d/README.md。 1. 精度异常表现 ​AdaptiveMaxPool​#xff08;自适应最大池化#xff09;是深度学习领域常见的池化操作#xff0c;可将任意输入尺寸映…AdaptiveMaxpool3D功能说明文档https://gitcode.com/cann/ops-nn/blob/master/pooling/adaptive_max_pool3d/README.md。1. 精度异常表现​AdaptiveMaxPool​自适应最大池化是深度学习领域常见的池化操作可将任意输入尺寸映射为固定输出尺寸。在NPU上调试AdaptiveMaxpool3D算子时碰到一些索引与cpu标杆差异的地方对此问题做一个记录。简化用例信息如下输入一个[1,1,1,15,17]张量通过控制属性参数outputSize为[1,2,17]输出[1,1,1,2,17]大小的最大值和索引两个张量。op_namex_shapex_dtypey_shapey_dtypeargmax_shapeargmax_dtypeoutputSizedata_format_strAdaptiveMaxpool3D1,1,1,15,17float161,1,1,2,17float161,1,1,2,17int321,2,17NCDHW笔者将用例输出的结果同cpu进行比对如下与cpu的结果比较中最大值输出正确但索引位置错误cpu为202npu为49271。AdaptiveMaxPool返回结果中索引是用来记录获取的最大值位置便于反向传播进行正确路径的梯度更新以torch_cpu功能作为参考假设输入张量是[N,C,D,H,W]那么索引位置会是D*H*W输入尺寸铺平成一维后的索引位置扁平化绝对索引。根据输入用例尺寸来看索引位置最大为1*15*17即0~254的范围不可能是49271很明显npu的索引输出存在异常。2. 定位过程通过多次运行相同用例shape发现都在同一位置输入错误索引。我们首先粗略排查索引的计算过程但并没有发现明显逻辑问题。既然运行是必现的最简单方式就是找到49271异常值是什么时候出现的。原先笔者已经将用例简化到[1,1,1,15,17]大小小量数据可以帮助我们更好进行观察。我们通过从计算索引→搬出结果的反向过程插入DumpTensor(GlobalTensor/LocalTensor, 代码行号, 元素个数)函数重新编译算子运行可以逐步打印NPU上的Tensor内容值进行观察发现错误数据第一次出现在上述红框的for循环中Select函数之后。再往前Select函数的输入Tensor数值打印出来没有明显异常值因此我们深入分析Select的配置参数和功能逻辑是否存在与预想不一致的地方。在官网文档中发现该接口使用一个8K的预留空间是一个疑点。官网文档https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/850alpha002/API/ascendcopapi/atlasascendc_api_07_0070.html笔者通过搜索InitBuffer函数快速查验一下空间分配情况这个算子使用了固定大小分配比较好分析计算了一下大概为185kb1858193kb这超过了芯片最大提供的192kbub空间大小这会导致内存空间被踩// 初始化que pipe-InitBuffer(inputQue, 1, 32 * 1024); pipe-InitBuffer(maxQue, 1, 8 * 1024); pipe-InitBuffer(indexQue, 1, 8 * 1024); // 初始化Tbuf pipe-InitBuffer(cmpMaskBuffer, 512); pipe-InitBuffer(cmpNanMaskBuffer, 512); pipe-InitBuffer(inputTransBuffer, 32 * 1024); pipe-InitBuffer(resetIndexBuf, 4 * 1024); pipe-InitBuffer(nextCmpBuffer, 4 * 1024); pipe-InitBuffer(mulWBuffer, 64 * 1024); pipe-InitBuffer(mulWIdxBuffer, 32 * 1024);3. 解决方式单核在进行pipe-InitBuffer在进行192kb空间分配时是按顺序分的。在空间分配时mulWBuffer的空间申请有一部分作用用于复用计算我们将其移动到最后进行空间的分配这样子改动最小化Select接口的预留的8kb即使踩到mulWBuffer也只涉及到无效数据部分不影响计算结果。在调整完顺序后重新进行验证验证结果通过。// 初始化que pipe-InitBuffer(inputQue, 1, 32 * 1024); pipe-InitBuffer(maxQue, 1, 8 * 1024); pipe-InitBuffer(indexQue, 1, 8 * 1024); // 初始化Tbuf pipe-InitBuffer(cmpMaskBuffer, 512); pipe-InitBuffer(cmpNanMaskBuffer, 512); pipe-InitBuffer(inputTransBuffer, 32 * 1024); pipe-InitBuffer(resetIndexBuf, 4 * 1024); pipe-InitBuffer(nextCmpBuffer, 4 * 1024); pipe-InitBuffer(mulWIdxBuffer, 32 * 1024); pipe-InitBuffer(mulWBuffer, 64 * 1024); //移动到最后4. 根因Select接口的使用需要预留8K的Unified Buffer空间但是原有kernel已经申请了185kb空间1858193kb超过了芯片最大提供的192kbub空间大小导致Select函数踩到有效数据输出异常索引值。5. 启发1、对于一些可复现异常可以通过简化输入条件来降低定位的复杂度通过二分打印数据的变化找到异常引入点。2、在算子开发中要考虑到最大的ub内存空间进行合理的分配留意API接口中容易忽视的约束部分的指令可能需要预留一部分的ub空间不然可能会造成内存踩踏。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

南京做网站团队wordpress 密码解密

DDColor:让老照片“活”过来的AI修复利器 在知乎上看到一个问题:“有哪些好用的老照片修复工具?”——这问题背后,其实藏着无数人对记忆的珍视。一张泛黄、褪色甚至布满折痕的老照片,可能是一位老人年轻时的模样&#…

张小明 2026/1/10 1:49:58 网站建设

网站背投广告代码长沙it公司排名

在当今社交网络盛行的时代,错过微信群红包已成为许多人的日常烦恼。AutoRobRedPackage作为一款基于Android无障碍服务的开源自动化工具,为用户提供了真正免root的全自动抢红包体验。无论你是技术新手还是普通用户,都能通过简单的设置享受24小…

张小明 2026/1/10 1:49:54 网站建设

沧浪企业建设网站电话网站服务器租一个月

孤岛计数 深搜版文章讲解/视频讲解 广搜版文章讲解/视频讲解 题目描述: 给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且…

张小明 2026/1/9 20:40:54 网站建设

数据库跟网站怎样更新网站文章

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个适合个人博客的时间线分享功能,要求:1. 极简界面设计 2. 支持Markdown格式内容 3. 一键分享到主流社交平台 4. 访客评论功能 5. 使用最简技术栈 6. …

张小明 2026/1/10 1:49:48 网站建设

可以下载源程序的网站广州市政务中心官网

2025电商视觉革命:Fusion LoRA让产品完美融入场景的AI神器 【免费下载链接】Fusion_lora 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Fusion_lora 还在为产品图与场景融合的透视错位、光影违和问题烦恼?阿里通义千问团队推出的Fusion …

张小明 2026/1/10 1:49:44 网站建设

郑州做网站首选九零后网络网站注册地址查询

一、引言:为什么包管理器如此重要? 在前端工程化高度发达的今天,一个高效、可靠的包管理器几乎决定了项目的开发效率和稳定性。从2014年的npm (v2)到2017年横空出世的pnpm,JavaScript包管理器经历了四次重要革新,每次都…

张小明 2026/1/10 3:44:10 网站建设