Profiler构造函数
功能说明
Profiler类的构造函数,用于局部打开Profiling功能,例如仅采集TensorFlow网络中局部子图的性能数据,或采集指定step的性能数据。
函数原型
def __init__( self, *, level: str = "L0", aic_metrics: str = "", output_path: str = "" )
参数说明
返回值
无
约束说明
- Profiler类需要通过with语句调用,性能数据采集功能会在对应的作用域内生效。
- Profiler类仅支持session模式调用。
- Profiler类不能嵌套使用。
1 2 3
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类不支持多线程调用。
调用示例
1 2 3 4 5 6 7 8 9 10 11 |
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]]}) |