昇腾社区首页
中文
注册

开启确定性计算

在GPU/NPU设备下训练时,多次执行的结果可能不同。这个差异的来源,一般是因为在算子实现中,存在异步的多线程执行,会导致浮点数累加的顺序变化。NPU下可以开启确定性计算,保证多次执行结果相同,提高精度比对的准确性,但算子执行时间会变慢,导致性能下降,可根据实际情况选择是否开启。

  • session.run模式训练配置示例:
    custom_op.parameter_map["deterministic"].i = 1

    具体可参考《TF Adapter 接口(1.x)》的“session配置参数说明”章节

  • Estimator模式训练配置示例:
    config = NPURunConfig(deterministic=1)

    具体可参考《TF Adapter 接口(1.x)》的“NPURunConfig配置参数说明”章节