---
title: 功能介绍
description: "若基本调优操作不能达到性能要求，您可以借助Profiling工具采集训练过程中的性能数据并进行分析，从而准确定位系统的软、硬件性能瓶颈，提高性能分析的效率，通过针对性的性能优化方法，以最小的代价和成本提升业务性能。"
url: https://www.hiascend.com/document/detail/zh/TensorFlowCommercial/latest/migration/tfmigr1/tfmigr1_000055.html
sourcePath: /source/zh/TensorFlowCommercial/900/migration/tfmigr1/tfmigr1_000055.html
indexId: 7da3a9cce4e89b60c9f5ab80c6039a9ec8d1851612767ec7a6a233014c2df1cc73
---
# 功能介绍

若基本调优操作不能达到性能要求，您可以借助Profiling工具采集训练过程中的性能数据并进行分析，从而准确定位系统的软、硬件性能瓶颈，提高性能分析的效率，通过针对性的性能优化方法，以最小的代价和成本提升业务性能。

默认训练过程中不采集Profiling性能数据，如需采集、解析性能数据，请参考本节内容。

TensorFlow网络性能数据采集与分析的整体流程如下所示：


1. 采集Profiling数据。
  TensorFlow网络的性能数据支持全局采集与局部采集两种方式：
  - 全局采集，采集图执行所有行为的性能数据，数据量较大。
  - 局部采集，支持指定采集局部子图或者指定step的性能数据。


  全局采集有两种开启方式，可以通过修改训练脚本、配置“profiling_mode”参数的方式开启（可参见全局采集Profiling数据（修改训练脚本方式）），也可以通过设置环境变量“PROFILING_MODE”的方式开启（可参见全局采集Profiling数据（环境变量方式）），其中配置参数“profiling_mode”的优先级高于环境变量“ PROFILING_MODE”。

  局部采集，指通过with语句调用Profiler类，并将需要开启性能数据采集的操作放入Profiler类作用域内的方式，详细操作方式可参见局部采集Profiling数据（调用Profiler类方式）。

2. 解析并导出Profiling数据。
  不管是何种方式采集的Profiling数据，您都可以通过msprof命令行方式进行数据解析，并将解析结果导出到指定目录，详细操作可参见解析并导出Profiling数据。

3. 分析Profiling数据。
  您可以通过解析导出得到的结果文件（例如Timeline、Summary文件）进行分析，识别性能瓶颈点，典型分析示例可参见分析Profiling数据。
