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

CANN/ge CountBatch批处理功能

CountBatch

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

产品是否支持
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能介绍

CountBatch功能是指基于UDF为计算处理点将多个数据按batch_size组成batch。

该功能应用于DataFlow异步场景,具体如下。

  • 长时间没有数据输入时,可以通过CountBatch功能设置超时时间,如果没有设置padding,超时后取当前已有数据送计算处理点处理。
  • 设置超时时间后,如果数据不满batch_size时,可以通过CountBatch功能设置padding属性,计算点根据padding设置对数据进行填充到batch_size后输出。

使用方法

用户在DataFlow构图时通过给FlowNode的输入设置属性来添加CountBatch功能。示例如下。

CountBatch count_batch = {}; // 按需求设置count_batch中各属性的值 count_batch.timeout = 10; count_batch.batch_size = 300; count_batch.padding = true; count_batch.slide_stride = 5; DataFlowInputAttr flow_attr = {DataFlowAttrType::COUNT_BATCH, &count_batch}; std::vector<DataFlowInputAttr> flow_attrs = {flow_attr}; // 通过FlowNode的MapInput设置 FlowNode::MapInput(xx, xx, xx, flow_attrs);
属性名称数据类型取值说明
batch_sizeint64_t组batch大小。
timeoutint64_t只有设置了batch_size时,该参数才生效。
组batch等待时间,单位(ms),取值范围[0,4294967295),默认值是0,表示一直等待直到满batch。
paddingbool只有设置了batch_size和timeout时,该参数才生效。
不足batch时,是否padding。默认值false,表示不padding。
slide_strideint64_t只有设置了batch_size时,该参数才生效。
滑窗步长,取值范围[0,batch_size]。

- >0且<batch_size时表示启用滑窗方式组batch。
- 不设置,等于0。
- 等于batch_size时按照未设置滑窗步长方式组batch。
- >batch_size报错。
batch_dimint64_t未使能。
flagint32_t未使能。
drop_remainderbool未使能。

使用注意事项

当前Batch特性无法做负荷分担,因此如果使用2P环境,需要在ge初始化时添加{"ge.exec.logicalDeviceClusterDeployMode", "SINGLE"}, {"ge.exec.logicalDeviceId", "[0:0]"}。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

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

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

相关文章:

  • MoE与边缘AI融合:重塑元宇宙实时内容生成新范式
  • 开源AI管家JARVIS-:从多模型集成到智能家居控制实战
  • 数据智能前沿:从过程分析到可信AI的跨学科研究与实践
  • 主动学习加速广义Benders分解求解混合整数经济模型预测控制
  • AI Agent工具化实战:基于MCP协议构建安全可控的自动化工作流
  • 源码获取博主介绍
  • 昇腾TF适配器ReduceScatter算子
  • JAVA同城上门做饭系统家政上门同城服务系统源码小程序+APP+公众号+h5
  • GEO优化怎么做:万字深度拆解生成式引擎优化
  • 基于XAI与盲掩码自监督学习的地震数据去噪技术解析
  • CANN/hcomm获取本地rank大小
  • 机器学习模型不确定性量化:基于混淆矩阵自举法与LLM辅助分析
  • 如何高效配置智能键盘输入映射工具:Hitboxer跨平台SOCD解决方案实战指南
  • 魔兽争霸3终极优化指南:告别闪退卡顿,轻松玩转经典游戏
  • Java Object
  • 构建负责任AI:从数据标注到协同治理的技术实践与挑战
  • Git Flow 工作流:团队协作最佳实践
  • 二、Linux基础开发工具(1)
  • 影刀RPA如何实现店群自动化:带你用多浏览器并发,打造拼多多与TEMU的“加密级”运营中枢
  • CANN学习中心:msSanitizer异常检测工具深度解析
  • 帝国cms二开的证书查询系统
  • 可信AI评估:从公平性到多维度指标权衡与标准化挑战
  • 从人本到社本:构建ChatGPT社会影响评估与伦理治理新范式
  • 关于博主介绍以及源码获取方式
  • 20254112邓新锐 2025-2026-2 《Python程序设计》实验3报告
  • 排序统计-原理和应用场景
  • 大连欣科蜂窝板生产线核心技术与专利设计深度解析
  • Flutter × Harmony6.0 旅行页面实战:构建一个高质感鸿蒙跨端首页
  • 耐高温 RFID 标签:机柜高温环境下的智能管理核心
  • 比C语言还伟大的编程语言,正因“太难”而被时代嫌弃!