文档
注册

接口列表

用户可以基于深度学习框架TensorFlow 1.15进行训练或在线推理脚本的开发,TF Adapter提供了适配TensorFlow 1.15框架的用户接口。

图1 TF Adapter接口

接口路径:${install_path}/python/site-packages/npu_bridge。

表1 TF Adapter接口列表

功能类别

接口名称

接口简介

session配置

session配置参数说明

TF Adapter提供了系列session配置用于进行功能调试、性能提升、精度提升等,开发者在昇腾AI处理器上进行模型训练或在线推理时,可以使用这些session配置。

npu.npu_config

NPURunConfig构造函数

开发者在昇腾AI处理器上通过Estimator模式进行模型训练或在线推理时,可通过NPURunConfig类的构造函数,指定Estimator的运行配置。

ProfilingConfig构造函数

用于配置Profiling功能。

MemoryConfig构造函数

用于配置系统内存使用方式。

DumpConfig构造函数

用于配置dump功能。

ExperimentalConfig构造函数

调试功能扩展参数,后续版本可能会存在变动,不支持应用于商用产品中。

npu.npu_estimator

NPUEstimator构造函数

NPUEstimator类的构造函数,NPUEstimator类继承了TensorFlow的Estimator类,可以调用基类的原生接口,用来训练和评估TensorFlow模型。

NPUEstimatorSpec构造函数

NPUEstimatorSpec类的构造函数,NPUEstimatorSpec类继承了TensorFlow的EstimatorSpec类,可以调用基类的原生接口,定义具体的模型对象。

npu_strategy

NPUStrategy构造函数

NPUStrategy类的构造函数。NPUStrategy继承了tf.distribute.Strategy类,可以调用基类的原生接口,用于在NPU环境中实现分布式训练。

npu_hook

NPUCheckpointSaverHook构造函数

NPUCheckpointSaverHook类的构造函数,用于保存checkpoint文件。NPUCheckpointSaverHook类继承了CheckpointSaverHook类,可以调用基类的原生接口,用于记录训练过程中的模型信息。

NPUOutputTensorHook构造函数

NPUOutputTensorHook类的构造函数,NPUOutputTensorHook作用于NPUEstimator的train、evaluate、predict流程中的Hook,用于每N步或者结束时调用用户自定义的output_fn,打印输出tensors。NPUOutputTensorHook类继承了LoggingTensorHook类,可以调用基类的原生接口。

TellMeStepOrLossHook构造函数

TellMeStepOrLossHook类的构造函数,TellMeStepOrLossHook用于告知底层软件“当前执行的步数和总的步数”或者“当前执行的loss和最终的目标loss”。

npu_optimizer

NPUDistributedOptimizer构造函数

NPUDistributedOptimizer类的构造函数,用于包装用户提供的单机训练优化器,构造NPU分布式训练优化器。

NPUOptimizer构造函数

NPUOptimizer类的构造函数,该优化器将NPUDistributedOptimizerNPULossScaleOptimizer优化器合并。主要提供如下功能:
  • Loss Scaling:支持在混合精度训练中使能Loss Scaling,从而解决由于float16表示范围较小导致的下溢出问题。
  • 分布式训练:包装用户提供的单机训练优化器,构造NPU分布式训练优化器,支持单机单卡、单机多卡、多机多卡等组网形式下,各个Device之间计算梯度后执行梯度聚合操作。
  • 通信拖尾优化:通过计算依赖关系的改变,将不依赖于最后一个AR(梯度聚合分片)的计算操作调度到和最后一个AR并行进行,以达到优化通信拖尾时间的目的。

KerasDistributeOptimizer构造函数

KerasDistributeOptimizer类的构造函数,用于包装用户使用tf.Keras构造的脚本中的单机训练优化器,构造NPU分布式训练优化器。

npu_distributed_optimizer_wrapper

对传入的optimizer中的求梯度的函数添加npu的allreduce操作之后,将包含原生优化器求梯度和npu allreduce两个操作合并为一个函数,替换原生优化器的求梯度的函数,最终返回输入的优化器。该接口仅在分布式场景下使用。

npu_allreduce

梯度计算完成后,对梯度进行allreduce和梯度更新。

npu_callbacks

NPUBroadcastGlobalVariablesCallback构造函数

Keras场景下对变量进行广播,使得在分布式场景下每个device上的变量初始值保持一致。

npu_bridge.estimator.npu.npu_loss_scale_optimizer

NPULossScaleOptimizer构造函数

NPULossScaleOptimizer类的构造函数,浮点计算的溢出模式为“饱和模式”的场景下,用于在混合精度训练中使能Loss Scaling。Loss Scaling解决了由于float16表示范围较小导致的下溢出问题。

npu.npu_loss_scale_manager

FixedLossScaleManager构造函数

FixedLossScaleManager类的构造函数,浮点计算的溢出模式为“饱和模式”的场景下,可通过此接口定义训练场景下的静态LossScale参数。

ExponentialUpdateLossScaleManager构造函数

ExponentialUpdateLossScaleManager类的构造函数,浮点计算的溢出模式为“饱和模式”的场景下,用于定义训练场景下的动态LossScale参数,并通过定义loss_scale变量动态获取和更新LossScale值。

npu_ops

dropout

和tf.nn.dropout功能相同。将输入Tensor按照1/keep_prob缩放,并且输入Tensor保留的概率为keep_prob,否则输出0,并且最终输出Tensor的shape和输入Tensor的shape保持一致。

LARSV2

该算子基于权重的范数和梯度的范数在不同层级上使用不同的学习率,对梯度缩放。通常用于提升大batch size场景下的训练精度,用于大规模集群训练,减少训练时间。

initialize_system

一般执行训练不需要调用该接口,如果用户统计训练时间时不想包括GE初始化时间,可以使用该接口。使用集合通信接口时,需要先调用该接口进行集合通信初始化。

shutdown_system

关闭所有Device,和initialize_system配合使用。

npu_onnx_graph_op

以算子形式加载ONNX模型,将指定路径中onnx模型通过TensorFlow的框架执行在昇腾AI处理器

npu_rnn

npu_dynamic_rnn

创建由RNNCell指定的高性能神经网络。

npu_dynamic_rnn

DynamicRNN构造函数

TensorFlow侧使用该接口,支持RNN类网络训练、推理。

DynamicGRUV2构造函数

TensorFlow侧使用该接口,支持RNN类网络训练、推理。

npu_scope

without_npu_compile_scope

配置在Host侧编译的算子。

keep_dtype_scope

指定哪些算子保持原有精度,如果原始网络模型中的算子精度在昇腾AI处理器上不支持,则系统内部自动采用算子支持的高精度来计算。

npu_weight_prefetch_scope

用于标识哪些算子使用权重预取缓存池内存,并指定使用的缓存池的id以及大小。

subgraph_multi_dims_scope

指定需要进行子图动态分档的算子scope。

util

set_iteration_per_loop

设置sess.run模式下小循环次数,即每次sess.run()在Device侧执行训练迭代的次数,可以减少Host与Device间的交互次数,缩短训练时长。

create_iteration_per_loop_var

该接口和load_iteration_per_loop_var接口配合使用,用来实现sess.run模式下设置小循环次数,即每次sess.run()在Device侧执行训练迭代的次数。该接口的主要作用是修改图,并通过load_iteration_per_loop_var接口来设置小循环次数。

load_iteration_per_loop_var

该接口和create_iteration_per_loop_var接口配合使用,用来实现sess.run模式下设置小循环次数,即每次sess.run()在Device侧执行训练迭代的次数。

set_graph_exec_config

图级别的配置项接口,用于按计算图设置编译和运行选项。通过该接口调用之后,fetch节点会被打上设置的属性。

keep_tensors_dtypes

指定哪些算子保持原有精度。

set_op_input_tensor_multi_dims

用于子图分档功能,指定当前算子的输入shape以及所有分档档位的shape信息。

keras_to_npu

model_to_npu_estimator

将通过Keras构建的模型转换为NPUEstimator对象。

npu_plugin

set_device_sat_mode

设置针对浮点计算的进程级溢出模式。

搜索结果
找到“0”个结果

当前产品无相关内容

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