---
title: 模型迁移：在NPU上正确使能混合精度
description: "在精度调试前，首先需要确保模型迁移成功且在NPU上功能调通。如果涉及分布式训练，确保正确使能。"
url: https://www.hiascend.com/document/detail/zh/TensorFlowCommercial/latest/migration/tfmigr1/tfmigr1_tfprecision_0009.html
sourcePath: /source/zh/TensorFlowCommercial/900/migration/tfmigr1/tfmigr1_tfprecision_0009.html
indexId: 72f00c3d2155421264e0d685f0f0216ff8aa4cb99cc07ff9a8b2c6b4fbadf37283
---
# 模型迁移：在NPU上正确使能混合精度

#### 目标

在精度调试前，首先需要确保模型迁移成功且在NPU上功能调通。如果涉及分布式训练，确保正确使能。

特别需要注意的是，在迁移过程中，需要确保正确使能混合精度训练。


#### 参考步骤

在GPU上使能混合精度主要有以下两种方式：- 使用GPU的手动混合精度模式（  参考链接(https://docs.nvidia.com/deeplearning/performance/mixed-precision-training/index.html#training_tensorflow)
），在模型中已经明确定义了所有的算子数据类型。
- 使用GPU的自动混合精度模式（  参考链接(https://docs.nvidia.com/deeplearning/performance/mixed-precision-training/index.html#tensorflow-amp)
），利用TensorFlow框架或者第三方接口（例如Apex）能力，定义模型的算子数据类型。


需要注意，为了尽可能减少重复改图带来不期望的问题，以上方法需要确保仅使能一种，且迁移到NPU上时也保持同样的方式，并确保NPU的精度配置如下：

针对Atlas 350 加速卡，使用“precision_mode_v2”选项，取值为“origin”。

针对 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ，使用“precision_mode_v2”选项，取值为“origin”。

针对 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，使用“precision_mode_v2”选项，取值为“origin”。

针对 Atlas 训练系列产品 ，使用“precision_mode”选项，取值为“allow_fp32_to_fp16”。
