当前位置: 首页 > news >正文

CANN ops-nn ApplyAdagradD算子

ApplyAdagradD

【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn

产品支持情况

产品是否支持
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

  • 算子功能:ApplyAdagradD 是 Adagrad 优化器的参数更新算子,用于根据梯度、学习率和累加平方梯度更新参数。

  • 计算公式:

    $$ accum = accum + grad * grad $$

    $$ var = var - lr * grad * (1 / sqrt(accum)) $$

  • update_slotsfalse时,accum不累加grad * grad,仅使用输入accum更新var

参数说明

参数名输入/输出/属性描述数据类型数据格式
var输入待更新的参数张量。FLOAT、FLOAT16、BFLOAT16ND
accum输入累加的平方梯度张量。与"var"具有相同类型和shape。FLOAT、FLOAT16、BFLOAT16ND
lr输入学习率张量。shape为{1},与"var"具有相同类型。FLOAT、FLOAT16、BFLOAT16ND
grad输入梯度张量。与"var"具有相同类型和shape。FLOAT、FLOAT16、BFLOAT16ND
var输出更新后的参数张量。FLOAT、FLOAT16、BFLOAT16ND
accum输出更新后的累加平方梯度张量。FLOAT、FLOAT16、BFLOAT16ND
update_slots属性是否更新"accum",默认值为true。BOOL-
use_locking属性是否使用锁,当前无特殊并发控制实现,默认值为false。BOOL-

调用说明

调用方式样例代码说明
图模式test_geir_apply_adagrad_d.cpp通过算子IR构图调用ApplyAdagradD算子。
aclnntest_aclnn_apply_adagrad_d.cpp通过aclnn接口调用ApplyAdagradD算子。

aclnn接口

aclnnStatus aclnnApplyAdagradDGetWorkspaceSize( const aclTensor* var, const aclTensor* accum, const aclTensor* lr, const aclTensor* grad, bool updateSlots, bool useLocking, uint64_t* workspaceSize, aclOpExecutor** executor); aclnnStatus aclnnApplyAdagradD( void* workspace, uint64_t workspaceSize, aclOpExecutor* executor, const aclrtStream stream);

约束与限制

  • varaccumgrad的shape和数据类型必须一致。
  • lr必须为标量张量,shape为{1}。
  • 仅支持ND数据格式。
  • 空tensor支持no-op执行。
  • use_locking当前无特殊并发控制实现。
  • FLOAT16、BFLOAT16输入会提升至FLOAT计算后再转回原类型。

贡献说明

贡献者贡献方贡献算子贡献时间贡献内容
Tream个人开发者ApplyAdagradD2026/05/29ApplyAdagradD算子适配开源仓

【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1071176/

相关文章:

  • Edge-TTS终极指南:专业诊断与高效解决语音合成错误的完整方案
  • CANN/PTO-ISA SET_QUANT_VECTOR指令
  • 如何3分钟上手vite-vue3-chrome-extension-v3?从安装到第一个扩展的完整指南
  • C# vs C++:垃圾回收的“世纪对决“:90%的开发者都选错了!
  • Bernini-R vs 其他视频AI工具:为什么选择GGUF版本的ComfyUI集成方案?[特殊字符]
  • Playground开发者必读:贡献代码与参与社区的最佳实践指南 [特殊字符]
  • CANN/catlass优化矩阵乘法示例
  • 10分钟掌握vite-vue3-chrome-extension-v3国际化:多语言扩展从零开始
  • 快速上手hspec:10分钟学会Haskell BDD测试框架 [特殊字符]
  • JoyAI-Image-Edit-Plus-Diffusers核心功能解析:Diffusers库的增强版图像编辑神器
  • 70款抖音快手封面边框模板设计动漫画电影视解说短剧视频透明图文模版
  • Ngx-restangular 测试策略:单元测试和集成测试完整指南
  • 实战教程:使用 Sapiens2-Pose-0.4B 进行实时人体姿态检测
  • 终极指南:5分钟解决oh-my-posh终端美化所有问题
  • 如何用Gemma-4-26B-A4B-StyleTune提升创作质量?新手必看的AI写作指南 [特殊字符]
  • FastContext-1.0-4B-RL性能评测:如何在SWE-bench上实现5.5%准确率提升
  • Laravel Search String快速入门:5个简单步骤实现智能搜索
  • Caesonia故障排除:OpenBSD邮件服务常见问题解决方案和调试方法
  • Serpl部署与分发:如何打包和发布你的自定义版本到各大平台
  • 终极TypeScript+Vue3开发体验:vite-vue3-chrome-extension-v3类型安全实践指南
  • REL源码解析:深入理解Golang ORM的设计哲学与架构实现 [特殊字符]
  • Sing-Guard-2b核心功能揭秘:6大安全场景全覆盖,动态策略推理如何实现?
  • Bernini-R-GGUF-ComfyUI安装教程:5分钟快速部署AI视频生成环境
  • ClothSimulation在游戏开发中的应用:实时布料模拟实战
  • FreeOpcUa在实际项目中的应用案例:工业自动化系统的集成经验
  • Agora-Flutter-SDK高级功能实战:美颜、虚拟背景与空间音频实现
  • The Lightmapper对比分析:与其他Blender光照贴图插件的优劣比较
  • Contra.js生态系统:10个扩展插件与社区工具推荐指南
  • Atropos环境开发指南:从零开始构建自定义强化学习场景
  • 终极Playwright CLI指南:如何用命令行掌控浏览器自动化