确认溢出步数

溢出定位依赖于精度数据dump,如果固定随机性后,能够在训练某一步迭代稳定复现模型输出nan问题,那么可以指定dump步数进行训练:

  1. 修改工具precision_tool/lib/config目录下的config.py,指定需要dump数据的step。
    # dump特定step的数据,一般对比分析dump首层即可,即保持默认值,如需指定特定step可以修改,例如 '0|5|10'
    TF_DUMP_STEP = '0'
  2. 将TF_DUMP_STEP修改为出现nan的步数,需要注意TF_DUMP_STEP=0对应dump模型训练的第1步。

    如果loss nan问题无法稳定复现在训练的某一步迭代,可根据实际情况修改TF_DUMP_STEP为一定范围,或者多次执行,保证dump到了对应步数的精度数据后才能进行下一步分析。由于dump数据占用内存较大,需要注意不要dump过多数据,并且及时删除无用的dump数据。