TensorBoard中GPU空闲时间计算及Trace Viewer相关问题咨询
TensorBoard相关问题解答
GPU空闲时间计算与轨迹显示矛盾的原因
TensorBoard的GPU空闲时间是按整个分析周期内,GPU未被计算任务占用的总时间占比统计的:
- 小批量场景下,GPU上的计算kernel执行间隔极短,Trace Viewer的时间刻度会把这些微小间隙合并显示,看起来轨迹无空白,但这些间隙累积起来占了总时间的50%,因此
tensorflow_stats页面会显示高空闲率。 - 增大批量后,单步kernel执行时间变长,间隙的总占比大幅降低,空闲率随之降到7%,此时轨迹仍因刻度原因看起来无空白,但实际间隙占比已可忽略。
Trace Viewer页面的steps含义
这里的steps指训练或推理过程中的迭代步数:
- 训练场景下,一个step对应一次完整的小批量数据前向传播+反向传播+参数更新流程;
- 推理场景下,一个step对应一次完整的输入数据前向推理流程。每个step会对应Trace中一组关联的计算、数据传输等事件。
Trace Viewer仅显示10秒数据的原因
这是TensorBoard Trace Viewer的默认行为:默认仅加载并显示采集到的前10秒轨迹数据。如果需要查看完整100秒的执行过程,可在Trace Viewer界面手动调整时间范围,或者在采集性能数据时指定更长的采集时长(比如通过tf.profiler.experimental.start配置采集参数)。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

