文档
注册

工具简介

功能介绍

Ascend平台提供了TensorFlow 2.6.5网络迁移工具,该工具适用于原生的Tensorflow训练脚本迁移场景,AI算法工程师通过该工具分析原生的TensorFlow Python API在昇腾AI处理器上的支持度情况,同时将原生的TensorFlow训练脚本自动迁移成昇腾AI处理器支持的脚本,迁移后的脚本能在昇腾AI处理器上执行训练,功能跑通。对于无法自动迁移的API,您可以参考工具输出的迁移报告,对训练脚本进行相应的适配修改。

获取路径

CANN软件安装完成后,迁移工具在“tfplugin安装目录/tfplugin/latest/python/site-packages/npu_device/convert_tf2npu/”目录下。

使用限制

在使用工具进行模型迁移前,先来了解对原始训练脚本的限制:
  1. 要求原始脚本在GPU/CPU上跑通,精度收敛。
  2. 要求原始脚本仅使用TensorFlow 2.6官方API,或者当脚本中以tf.compat.v1形式调用Tensorflow 1.x API时,支持使用Horovod API。
    若用户脚本使用了其他第三方API,当前工具暂不支持迁移。例如:
    1. 不支持原生Keras API,但由于Tensorflow官方API中包括了Tensorflow的Keras API,因此支持Tensorflow的Keras API。
    2. 不支持CuPy API,即便原始脚本能在GPU上运行成功,但不能保证在昇腾AI处理器运行成功。
  3. 原始脚本中的TensorFlow模块最好按照如下方式引用,否则工具迁移后,无法生成准确的迁移报告(但并不影响脚本迁移)。
    import tensorflow as tf
    import horovod.tensorflow as hvd
  4. 当前版本不支持float64/complex64/complex128/DT_VARIANT数据类型。
  5. 关于分布式脚本迁移的限制:
    1. 使用工具迁移前,需要手工添加数据集分片操作,具体请参考3
    2. 当前工具仅支持对使用了Tensorflow Keras优化器(包括SGD/RMSprop/Adam/Ftrl/Adagrad/Adadelta/Adamax/Nadam)的分布式脚本进行自动迁移,其他分布式脚本需要参考分布式训练脚本适配(兼容单卡)进行手工迁移。
    3. 如果用户原始脚本中使用了LossScaleOptimizer,当前工具仅支持将tf.keras.mixed_precision.LossScaleOptimizer迁移为npu.train.optimizer.NpuLossScaleOptimizer,对于其他类型的LossScaleOptimizer,您应当先切换为tf.keras.mixed_precision.LossScaleOptimizer,进行功能精度验证后再手工替换为npu.train.optimizer.NpuLossScaleOptimizer。
  6. 迁移工具目前无法自动使能循环下沉功能,如果原始脚本中使用了循环下沉,则需要用户手工使能NPU的循环下沉能力,具体请参考训练循环下沉时设置NPU上的循环次数
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词