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

华为CANN Profiler构造函数

Profiler构造函数

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

功能说明

Profiler类的构造函数,用于局部打开Profiling功能,例如仅采集TensorFlow网络中局部子图的性能数据,或采集指定step的性能数据。

函数原型

class Profiler(object): def __init__( self, *, level: str = "L0", aic_metrics: str = "", output_path: str = "" )

参数说明

参数名输入/输出描述
level输入开启Profiler的级别,用于控制采集性能数据的范围。
- L0(默认值):主要采集任务调度耗时信息(task_time)和acl接口执行相关的性能数据。
- L1:在L0的采集数据基础上,额外采集集合通信算子性能数据和AI Core算子性能数据。
- L2:在L1的采集数据基础上,额外采集Runtime组件执行相关的性能数据和AI CPU算子性能数据。
aic_metrics输入当level配置为“L1”或“L2”时,可通过此参数采集AI Core和AI Vector Core硬件相关的性能指标,包含如下取值:
- ArithmeticUtilization:cube及vector类型指令耗时和占比。
- PipeUtilization(默认值):计算单元和搬运单元耗时占比。
- Memory:内存读写带宽速率。
- MemoryL0:L0读写带宽速率。
- MemoryUB:UB读写带宽速率。
- ResourceConflictRatio:流水线队列类指令占比。
- L2Cache:读写cache命中次数和缺失后重新分配次数。
关于每一种取值包含的详细采集项及其含义可参见《性能调优工具用户指南》中的“性能数据文件参考 > op_summary(算子详细信息)”章节。
output_path输入Profiling采集结果文件保存路径。该参数指定的目录需要在启动训练的环境上(容器或Host侧)提前创建且运行用户具有读写权限,支持配置为绝对路径或相对路径(相对执行命令行时的当前路径)。路径中不能包含特殊字符:"\n"、"\f"、"\r"、"\b"、"\t"、"\v"、"\u007F"。
- 绝对路径配置以“/”开头,例如:/home/test/output。
- 相对路径配置直接以目录名开始,例如:output。
- 该参数优先级高于环境变量ASCEND_WORK_PATH,关于ASCEND_WORK_PATH的详细说明,可参见《环境变量参考》中的“安装配置相关”章节。
默认值为空。此参数配置为空时,采集结果文件保存在当前目录下。

返回值

约束说明

  • Profiler类需要通过with语句调用,性能数据采集功能会在对应的作用域内生效。

  • Profiler类仅支持session模式调用。

  • Profiler类不能嵌套使用。

    如下所示,是错误的调用方法。

    with profiler.Profiler(level="L1", aic_metrics="ArithmeticUtilization", output_path = "./"): with profiler.Profiler(level="L1", aic_metrics="ArithmeticUtilization", output_path = "./"): sess.run(add)
  • Profiler类不能与session配置中的参数“profiling_mode”、“profiling_options”,NPURunConfig配置中的参数“enable_profiling”、“profiling_options”,以及环境变量“PROFILING_MODE”、“PROFILING_OPTIONS”同时使用,关于环境变量的详细说明可参见《环境变量参考》。

  • Profiler类不支持多线程调用。

调用示例

import tensorflow as tf from npu_bridge.npu_init import * ...... a = tf.placeholder(tf.int32, (None,None)) b = tf.constant([[1,2],[2,3]], dtype=tf.int32, shape=(2,2)) add = tf.add(a, b) with tf.Session(config=session_config, graph=g) as sess: with profiler.Profiler(level="L1", aic_metrics=str("ArithmeticUtilization"), output_path = "./"): result=sess.run(add, feed_dict={a: [[-20, 2],[1,3]],c: [[1],[-21]]})

【免费下载链接】tensorflowAscend TensorFlow Adapter项目地址: https://gitcode.com/cann/tensorflow

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

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

相关文章:

  • 告别手动拟音:HunyuanVideo-Foley镜像部署指南,AI自动生成同步音效
  • AI光学硬件加速:1.2Tb/s高光谱视频实时理解平台架构与实践
  • 别再傻傻分不清了!FreeRTOS事件组与任务通知的保姆级对比与实战选型指南
  • 分布式追踪深度解析:解锁微服务架构的可观测性
  • RK3588 DTS避坑指南:regulator-always-on和regulator-boot-on到底该怎么用?别让你的板子开机就掉电
  • 基于YOLO与FaceNet的牛只鼻纹识别:从度量学习到精准畜牧实践
  • 比OpenClaw更安全的金融级安全标准工具推荐:支持内网隔离环境的国产平替厂商 - 品牌2026
  • 科研影响力评估:从引文指标到AI预测的量化方法与实践
  • 从代码生成到自主学习:构建AI编程智能体的核心架构与实践
  • LoRA测试神器!Jimeng LoRA系统实现多版本智能排序与热切换
  • AI如何革新文献综述:从NLP、机器学习到知识图谱的智能工作流
  • 别再为LNK2019发愁!手把手教你用VS2022+Eigen+OpenCV搞定Games101作业环境(附常见错误排查)
  • CANN/AMCT量化模型接口
  • FlowState Lab 推理性能优化教程:GPU显存与计算效率提升
  • CANN/ops-nn HardSwish算子API
  • 2026长春单招机构排行:资质与实战战绩核心盘点 - 奔跑123
  • Qt 6.10仪表盘实战:手把手教你用QML Canvas画一个会闪烁的转向箭头
  • 机器学习如何量化政党内部民主:从数据采集到情感分析的全流程实践
  • 深度解析:高性能键盘输入冲突处理工具Hitboxer的4大技术实现方案
  • nli-MiniLM2-L6-H768算法优化:经典PID控制思想在模型训练调参中的启发
  • Gemma-3-12B-IT实战体验:搭建企业内部AI助手完整指南
  • CANN/hcomm通信域管理示例
  • PMP可以个人报名吗? - 众智商学院官方
  • 2026优质水箱厂家推荐:不锈钢/玻璃钢/搪瓷/镀锌/BDF全品类材质采购指南 - 深度智识库
  • MedGemma-X应用体验:全中文交互设计,消除技术边界
  • AI编程时代的前端项目启动模板:Cursor-Starter深度解析与实践指南
  • 从德雷克方程到广播分布函数:地外文明信号探测的数学建模与聚合统计
  • 2026 云南省除四害权威榜单 五大有害生物防治机构公示 - 深度智识库
  • nli-MiniLM2-L6-H768在舆情分析中的实战:识别观点冲突与一致性
  • 蒙城悦洁家政服务经营部:安徽防水补漏推荐哪家 - LYL仔仔