modify the format of API files

This commit is contained in:
zhangyi 2022-07-21 10:30:12 +08:00
parent 3f6d4aed6d
commit 969d0b2e25
30 changed files with 326 additions and 429 deletions

View File

@ -5,39 +5,34 @@ mindspore.FixedLossScaleManager
损失缩放系数不变的管理器,继承自 :class:`mindspore.LossScaleManager`
**参数:**
- **loss_scale** (float) - 梯度放大系数。注:如果将 `drop_overflow_update` 设为False则定义优化器时需要将优化器的 `loss_scale` 设为相同的值。默认值128.0。
- **drop_overflow_update** (bool) - 出现溢出时是否执行优化器。如果值为True则出现溢出时不会执行优化器。默认值True。
参数:
- **loss_scale** (float) - 梯度放大系数。注:如果将 `drop_overflow_update` 设为False则定义优化器时需要将优化器的 `loss_scale` 设为相同的值。默认值128.0。
- **drop_overflow_update** (bool) - 出现溢出时是否执行优化器。如果值为True则出现溢出时不会执行优化器。默认值True。
.. py:method:: get_drop_overflow_update()
返回 `drop_overflow_update` ,该值表示是否在发生溢出时放弃本轮参数更新。
**返回:**
bool, `drop_overflow_update` 的值。
返回:
bool`drop_overflow_update` 的值。
.. py:method:: get_loss_scale()
获取loss scale值。
**返回:**
bool`loss_scale` 的值。
返回:
bool`loss_scale` 的值。
.. py:method:: get_update_cell()
返回用于更新 `loss_scale` 值的 `Cell` 实例, :class:`mindspore.nn.TrainOneStepWithLossScaleCell` 会调用该实例。该类使用固定的梯度放大系数,因此该实例不执行任何操作。
**返回:**
None或 `Cell` 。当 `drop_overflow_update` 为True时返回 :class:`mindspore.nn.FixedLossScaleUpdateCell` 实例,当 `drop_overflow_update` 为False时返回None。
返回:
None或 `Cell` 。当 `drop_overflow_update` 为True时返回 :class:`mindspore.nn.FixedLossScaleUpdateCell` 实例,当 `drop_overflow_update` 为False时返回None。
.. py:method:: update_loss_scale(overflow)
更新loss scale值。类 :class:`mindspore.FixedLossScaleManager` 中,该方法不执行任何操作。
**参数:**
- **overflow** (bool) - 表示是否溢出。
参数:
- **overflow** (bool) - 表示是否溢出。

View File

@ -14,14 +14,12 @@ mindspore.History
训练开始时初始化History对象的epoch属性。
**参数:**
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.RunContext`
参数:
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.RunContext`
.. py:method:: epoch_end(run_context)
epoch结束时记录网络输出和评估指标的相关信息。
**参数:**
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.RunContext`
参数:
- **run_context** (RunContext) - 包含模型的一些基本信息。详情请参考 :class:`mindspore.RunContext`

View File

@ -8,13 +8,12 @@ mindspore.JitConfig
.. note::
- 这是一个实验性接口,后续可能删除或修改。
**参数:**
参数:
- **jit_level** (str) - 设置编译优化的级别,支持["O0", "O1", "O2"]。默认值:"O1"。
- **jit_level** (str) - 设置编译优化的级别,支持["O0", "O1", "O2"]。默认值: "O1"。
- "O0": 基础优化。
- "O1": 手动优化。
- "O2": 手动优化与图算优化结合。
- "O0": 基础优化。
- "O1": 手动优化。
- "O2": 手动优化与图算优化结合。
- **task_sink** (bool) - 数据是否直接下沉至处理器进行处理。默认值True。
- **kwargs** (dict) - 关键字参数字典。
- **task_sink** (bool) - 数据是否直接下沉至处理器进行处理。默认值True。
- **kwargs** (dict) - 关键字参数字典。

View File

@ -12,17 +12,16 @@ mindspore.LambdaCallback
.. note::
- 这是一个会变更或删除的实验性接口。
**参数:**
- **on_train_epoch_begin** (Function) - 训练每个epoch开始时被调用。
- **on_train_epoch_end** (Function) - 训练每个epoch结束时被调用。
- **on_train_step_begin** (Function) - 训练每个step开始时被调用。
- **on_train_step_end** (Function) - 训练每个step结束时被调用。
- **on_train_begin** (Function) - 模型训练开始时被调用。
- **on_train_end** (Function) - 模型训练结束时被调用。
- **on_eval_epoch_begin** (Function) - 推理的epoch开始时被调用。
- **on_eval_epoch_end** (Function) - 推理的epoch结束时被调用。
- **on_eval_step_begin** (Function) - 推理的每个step开始时被调用。
- **on_eval_step_end** (Function) - 推理的每个step结束时被调用。
- **on_eval_begin** (Function) - 模型推理开始时被调用。
- **on_eval_end** (Function) - 模型推理结束时被调用。
参数:
- **on_train_epoch_begin** (Function) - 训练每个epoch开始时被调用。
- **on_train_epoch_end** (Function) - 训练每个epoch结束时被调用。
- **on_train_step_begin** (Function) - 训练每个step开始时被调用。
- **on_train_step_end** (Function) - 训练每个step结束时被调用。
- **on_train_begin** (Function) - 模型训练开始时被调用。
- **on_train_end** (Function) - 模型训练结束时被调用。
- **on_eval_epoch_begin** (Function) - 推理的epoch开始时被调用。
- **on_eval_epoch_end** (Function) - 推理的epoch结束时被调用。
- **on_eval_step_begin** (Function) - 推理的每个step开始时被调用。
- **on_eval_step_end** (Function) - 推理的每个step结束时被调用。
- **on_eval_begin** (Function) - 模型推理开始时被调用。
- **on_eval_end** (Function) - 模型推理结束时被调用。

View File

@ -5,14 +5,12 @@ mindspore.LearningRateScheduler
用于在训练期间更改学习率。
**参数:**
- **learning_rate_function** (Function) - 在训练期间更改学习率的函数。
参数:
- **learning_rate_function** (Function) - 在训练期间更改学习率的函数。
.. py:method:: step_end(run_context)
在step结束时更改学习率。
**参数:**
- **run_context** (RunContext) - 包含模型的一些基本信息。
参数:
- **run_context** (RunContext) - 包含模型的一些基本信息。

View File

@ -10,26 +10,22 @@ mindspore.LossMonitor
.. note::
如果 `per_print_times` 为0则不打印loss。
**参数:**
参数:
- **per_print_times** (int) - 表示每隔多少个step打印一次loss。默认值1。
- **per_print_times** (int) - 表示每隔多少个step打印一次loss。默认值1。
**异常:**
- **ValueError** - 当 `per_print_times` 不是整数或小于零。
异常:
- **ValueError** - 当 `per_print_times` 不是整数或小于零。
.. py:method:: step_end(run_context)
step结束时打印训练loss。
**参数:**
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
参数:
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
.. py:method:: on_train_epoch_end(run_context)
LossMoniter用于 `model.fit`即边训练边推理场景时打印训练的loss和当前epoch推理的metrics。
**参数:**
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`
参数:
- **run_context** (RunContext) - 包含模型的相关信息。详情请参考 :class:`mindspore.RunContext`

View File

@ -21,6 +21,5 @@ mindspore.LossScaleManager
根据 `overflow` 状态更新梯度放大系数loss scale)。
**参数:**
- **overflow** (bool) - 表示训练过程是否溢出。
参数:
- **overflow** (bool) - 表示训练过程是否溢出。

View File

@ -9,34 +9,33 @@
如果使用混合精度功能,需要同时设置 `optimizer` 参数,否则混合精度功能不生效。
当使用混合精度时,优化器中的 `global_step` 可能与模型中的 `cur_step_num` 不同。
**参数:**
参数:
- **network** (Cell) - 用于训练或推理的神经网络。
- **loss_fn** (Cell) - 损失函数。如果 `loss_fn` 为None`network` 中需要进行损失函数计算必要时也需要进行并行计算。默认值None。
- **optimizer** (Cell) - 用于更新网络权重的优化器。如果 `optimizer` 为None `network` 中需要进行反向传播和网络权重更新。默认值None。
- **metrics** (Union[dict, set]) - 用于模型评估的一组评价函数。例如:{'accuracy', 'recall'}。默认值None。
- **eval_network** (Cell) - 用于评估的神经网络。未定义情况下,`Model` 会使用 `network``loss_fn` 封装一个 `eval_network` 。默认值None。
- **eval_indexes** (list) - 在定义 `eval_network` 的情况下使用。如果 `eval_indexes` 为默认值None`Model` 会将 `eval_network` 的所有输出传给 `metrics` 。如果配置 `eval_indexes` ,必须包含三个元素,分别为损失值、预测值和标签在 `eval_network` 输出中的位置,此时,损失值将传给损失评价函数,预测值和标签将传给其他评价函数。推荐使用评价函数的 `mindspore.nn.Metric.set_indexes` 代替 `eval_indexes` 。默认值None。
- **amp_level** (str) - `mindspore.build_train_network` 的可选参数 `level` `level` 为混合精度等级,该参数支持["O0", "O2", "O3", "auto"]。默认值:"O0"。
- **network** (Cell) 用于训练或推理的神经网络。
- **loss_fn** (Cell) - 损失函数。如果 `loss_fn` 为None`network` 中需要进行损失函数计算必要时也需要进行并行计算。默认值None。
- **optimizer** (Cell) - 用于更新网络权重的优化器。如果 `optimizer` 为None `network` 中需要进行反向传播和网络权重更新。默认值None。
- **metrics** (Union[dict, set]) - 用于模型评估的一组评价函数。例如:{'accuracy', 'recall'}。默认值None。
- **eval_network** (Cell) - 用于评估的神经网络。未定义情况下,`Model` 会使用 `network``loss_fn` 封装一个 `eval_network` 。默认值None。
- **eval_indexes** (list) - 在定义 `eval_network` 的情况下使用。如果 `eval_indexes` 为默认值None`Model` 会将 `eval_network` 的所有输出传给 `metrics` 。如果配置 `eval_indexes` ,必须包含三个元素,分别为损失值、预测值和标签在 `eval_network` 输出中的位置,此时,损失值将传给损失评价函数,预测值和标签将传给其他评价函数。推荐使用评价函数的 `mindspore.nn.Metric.set_indexes` 代替 `eval_indexes` 。默认值None。
- **amp_level** (str) - `mindspore.build_train_network` 的可选参数 `level` `level` 为混合精度等级,该参数支持["O0", "O2", "O3", "auto"]。默认值:"O0"。
- "O0": 不变化。
- "O2": 将网络精度转为float16BatchNorm保持float32精度使用动态调整损失缩放系数loss scale的策略。
- "O3": 将网络精度包括BatchNorm转为float16不使用损失缩放策略。
- auto: 为不同处理器设置专家推荐的混合精度等级如在GPU上设为"O2"在Ascend上设为"O3"。该设置方式可能在部分场景下不适用,建议用户根据具体的网络模型自定义设置 `amp_level`
- "O0": 不变化。
- "O2": 将网络精度转为float16BatchNorm保持float32精度使用动态调整损失缩放系数loss scale的策略。
- "O3": 将网络精度包括BatchNorm转为float16不使用损失缩放策略。
- auto: 为不同处理器设置专家推荐的混合精度等级如在GPU上设为"O2"在Ascend上设为"O3"。该设置方式可能在部分场景下不适用,建议用户根据具体的网络模型自定义设置 `amp_level`
在GPU上建议使用"O2"在Ascend上建议使用"O3"。
通过 `kwargs` 设置 `keep_batchnorm_fp32` 可修改BatchNorm的精度策略 `keep_batchnorm_fp32` 必须为bool类型通过 `kwargs` 设置 `loss_scale_manager` 可修改损失缩放策略,`loss_scale_manager` 必须为 :class:`mindspore.LossScaleManager` 的子类,
关于 `amp_level` 详见 `mindpore.build_train_network`
在GPU上建议使用"O2"在Ascend上建议使用"O3"。
通过 `kwargs` 设置 `keep_batchnorm_fp32` 可修改BatchNorm的精度策略 `keep_batchnorm_fp32` 必须为bool类型通过 `kwargs` 设置 `loss_scale_manager` 可修改损失缩放策略,`loss_scale_manager` 必须为 :class:`mindspore.LossScaleManager` 的子类,
关于 `amp_level` 详见 `mindpore.build_train_network`
- **boost_level** (str) - `mindspore.boost` 的可选参数为boost模式训练等级。支持["O0", "O1", "O2"]. 默认值:"O0"。
- **boost_level** (str) `mindspore.boost` 的可选参数, 为boost模式训练等级。支持[“O0”, “O1”, “O2”]. 默认值: “O0”.
- "O0": 不变化。
- "O1": 启用boost模式性能将提升约20%,准确率保持不变。
- "O2": 启用boost模式性能将提升约30%准确率下降小于3%。
- "O0": 不变化。
- "O1": 启用boost模式, 性能将提升约20%, 准确率保持不变。
- "O2": 启用boost模式, 性能将提升约30%, 准确率下降小于3%。
如果想自行配置boost模式, 可以将 `boost_config_dict` 设置为 `boost.py`
为使功能生效需要同时设置optimizer、eval_network或metric参数。
注意:当前默认开启的优化仅适用部分网络,并非所有网络都能获得相同收益。建议在图模式+Ascend平台下开启该模式同时为了获取更好的加速效果请参考文档配置boost_config_dict。
如果想自行配置boost模式可以将 `boost_config_dict` 设置为 `boost.py`
为使功能生效需要同时设置optimizer、eval_network或metric参数。
注意:当前默认开启的优化仅适用部分网络,并非所有网络都能获得相同收益。建议在图模式+Ascend平台下开启该模式同时为了获取更好的加速效果请参考文档配置boost_config_dict。
.. py:method:: build(train_dataset=None, valid_dataset=None, sink_size=-1, epoch=1)
@ -46,12 +45,11 @@
.. note:: 如果预先调用该接口构建计算图,那么 `Model.train` 会直接执行计算图。预构建计算图目前仅支持GRAPH_MOD模式和Ascend处理器仅支持数据下沉模式。
**参数:**
- **train_dataset** (Dataset) 一个训练集迭代器。如果定义了 `train_dataset` 将会构建训练计算图。默认值None。
- **valid_dataset** (Dataset) - 一个验证集迭代器。如果定义了 `valid_dataset` ,将会构建验证计算图,此时 `Model` 中的 `metrics` 不能为None。默认值None。
- **sink_size** (int) - 控制每次数据下沉的数据量。默认值:-1。
- **epoch** (int) - 控制训练轮次。默认值1。
参数:
- **train_dataset** (Dataset) - 一个训练集迭代器。如果定义了 `train_dataset` 将会构建训练计算图。默认值None。
- **valid_dataset** (Dataset) - 一个验证集迭代器。如果定义了 `valid_dataset` ,将会构建验证计算图,此时 `Model` 中的 `metrics` 不能为None。默认值None。
- **sink_size** (int) - 控制每次数据下沉的数据量。默认值:-1。
- **epoch** (int) - 控制训练轮次。默认值1。
.. py:method:: eval(valid_dataset, callbacks=None, dataset_sink_mode=True)
@ -63,24 +61,21 @@
如果 `dataset_sink_mode` 配置为True数据将被发送到处理器中。此时数据集与模型绑定数据集仅能在当前模型中使用。如果处理器是Ascend数据特征将被逐一传输每次数据传输的上限是256M。
该接口会构建并执行计算图,如果使用前先执行了 `Model.build` ,那么它会直接执行计算图而不构建。
**参数:**
参数:
- **valid_dataset** (Dataset) - 评估模型的数据集。
- **callbacks** (Optional[list(Callback), Callback]) - 评估过程中需要执行的回调对象或回调对象列表。默认值None。
- **dataset_sink_mode** (bool) - 数据是否直接下沉至处理器进行处理。默认值True。
- **valid_dataset** (Dataset) 评估模型的数据集。
- **callbacks** (Optional[list(Callback), Callback]) - 评估过程中需要执行的回调对象或回调对象列表。默认值None。
- **dataset_sink_mode** (bool) - 数据是否直接下沉至处理器进行处理。默认值True。
**返回:**
Dictkey是用户定义的评价指标名称value是以推理模式运行的评估结果。
返回:
Dictkey是用户定义的评价指标名称value是以推理模式运行的评估结果。
.. py:method:: eval_network
:property:
获取该模型的评价网络。
**返回:**
评估网络实例。
返回:
评估网络实例。
.. py:method:: infer_predict_layout(*predict_data)
@ -88,17 +83,14 @@
.. note:: 同一批次数据应放在一个张量中。
**参数:**
参数:
- **predict_data** (Tensor) - 预测样本,数据可以是单个张量、张量列表或张量元组。
- **predict_data** (Tensor) 预测样本,数据可以是单个张量、张量列表或张量元组。
返回:
Dict用于加载分布式checkpoint的参数layout字典。它总是作为 `load_distributed_checkpoint()` 函数的一个入参。
**返回:**
Dict用于加载分布式checkpoint的参数layout字典。它总是作为 `load_distributed_checkpoint()` 函数的一个入参。
**异常:**
- **RuntimeError** 非图模式GRAPH_MODE将会抛出该异常。
异常:
- **RuntimeError** - 非图模式GRAPH_MODE将会抛出该异常。
.. py:method:: infer_train_layout(train_dataset, dataset_sink_mode=True, sink_size=-1)
@ -108,36 +100,31 @@
.. note:: 这是一个预编译函数。参数必须与Model.train()函数相同。
**参数:**
参数:
- **train_dataset** (Dataset) - 一个训练数据集迭代器。如果没有损失函数loss_fn返回一个包含多个数据的元组data1, data2, data3, ...并传递给网络。否则返回一个元组data, label数据和标签将被分别传递给网络和损失函数。
- **dataset_sink_mode** (bool) - 决定是否以数据集下沉模式进行训练。默认值True。PyNative模式下或处理器为CPU时训练模型流程使用的是数据不下沉non-sink模式。默认值True。
- **sink_size** (int) - 控制每次数据下沉的数据量,如果 `sink_size` =-1则每一次epoch下沉完整数据集。如果 `sink_size` >0则每一次epoch下沉数据量为 `sink_size` 的数据集。如果 `dataset_sink_mode` 为False则设置 `sink_size` 为无效。默认值:-1。
- **train_dataset** (Dataset) 一个训练数据集迭代器。如果没有损失函数loss_fn返回一个包含多个数据的元组data1, data2, data3, ...并传递给网络。否则返回一个元组data, label数据和标签将被分别传递给网络和损失函数。
- **dataset_sink_mode** (bool) 决定是否以数据集下沉模式进行训练。默认值True。PyNative模式下或处理器为CPU时训练模型流程使用的是数据不下沉non-sink模式。默认值True。
- **sink_size** (int) 控制每次数据下沉的数据量,如果 `sink_size` =-1则每一次epoch下沉完整数据集。如果 `sink_size` >0则每一次epoch下沉数据量为 `sink_size` 的数据集。如果 `dataset_sink_mode` 为False则设置 `sink_size` 为无效。默认值:-1。
**返回:**
Dict用于加载分布式checkpoint的参数layout字典。
返回:
Dict用于加载分布式checkpoint的参数layout字典。
.. py:method:: predict(*predict_data)
输入样本得到预测结果。
**参数:**
参数:
- **predict_data** (Tensor) - 预测样本,数据可以是单个张量、张量列表或张量元组。
**predict_data** (Tensor) 预测样本,数据可以是单个张量、张量列表或张量元组。
**返回:**
返回预测结果类型是Tensor或Tensor元组。
返回:
返回预测结果类型是Tensor或Tensor元组。
.. py:method:: predict_network
:property:
获得该模型的预测网络。
**返回:**
预测网络实例。
返回:
预测网络实例。
.. py:method:: train(epoch, train_dataset, callbacks=None, dataset_sink_mode=True, sink_size=-1, initial_epoch=0)
@ -152,14 +139,13 @@
- 如果 `sink_size` 大于零每次epoch可以无限次遍历数据集直到遍历数据量等于 `sink_size` 为止。
- 每次epoch将从上一次遍历的最后位置继续开始遍历。该接口会构建并执行计算图如果使用前先执行了 `Model.build` ,那么它会直接执行计算图而不构建。
**参数:**
- **epoch** (int) 训练执行轮次。通常每个epoch都会使用全量数据集进行训练。当 `dataset_sink_mode` 设置为True且 `sink_size` 大于零时则每个epoch训练次数为 `sink_size` 而不是数据集的总步数。如果 `epoch``initial_epoch` 一起使用,它表示训练的最后一个 `epoch` 是多少。
- **train_dataset** (Dataset) 一个训练数据集迭代器。如果定义了 `loss_fn` ,则数据和标签会被分别传给 `network``loss_fn` 此时数据集需要返回一个元组data, label。如果数据集中有多个数据或者标签可以设置 `loss_fn` 为None并在 `network` 中实现损失函数计算此时数据集返回的所有数据组成的元组data1, data2, data3, ...)会传给 `network`
- **callbacks** (Optional[list[Callback], Callback]) 训练过程中需要执行的回调对象或者回调对象列表。默认值None。
- **dataset_sink_mode** (bool) 数据是否直接下沉至处理器进行处理。使用PYNATIVE_MODE模式或CPU处理器时模型训练流程将以非下沉模式执行。默认值True。
- **sink_size** (int) 控制每次数据下沉的数据量。`dataset_sink_mode` 为False时 `sink_size` 无效。如果sink_size=-1则每一次epoch下沉完整数据集。如果sink_size>0则每一次epoch下沉数据量为sink_size的数据集。默认值-1。
- **initial_epoch** (int) - 从哪个epoch开始训练一般用于中断恢复训练场景。
参数:
- **epoch** (int) - 训练执行轮次。通常每个epoch都会使用全量数据集进行训练。当 `dataset_sink_mode` 设置为True且 `sink_size` 大于零时则每个epoch训练次数为 `sink_size` 而不是数据集的总步数。如果 `epoch``initial_epoch` 一起使用,它表示训练的最后一个 `epoch` 是多少。
- **train_dataset** (Dataset) - 一个训练数据集迭代器。如果定义了 `loss_fn` ,则数据和标签会被分别传给 `network``loss_fn` 此时数据集需要返回一个元组data, label。如果数据集中有多个数据或者标签可以设置 `loss_fn` 为None并在 `network` 中实现损失函数计算此时数据集返回的所有数据组成的元组data1, data2, data3, ...)会传给 `network`
- **callbacks** (Optional[list[Callback], Callback]) - 训练过程中需要执行的回调对象或者回调对象列表。默认值None。
- **dataset_sink_mode** (bool) - 数据是否直接下沉至处理器进行处理。使用PYNATIVE_MODE模式或CPU处理器时模型训练流程将以非下沉模式执行。默认值True。
- **sink_size** (int) - 控制每次数据下沉的数据量。`dataset_sink_mode` 为False时 `sink_size` 无效。如果sink_size=-1则每一次epoch下沉完整数据集。如果sink_size>0则每一次epoch下沉数据量为sink_size的数据集。默认值-1。
- **initial_epoch** (int) - 从哪个epoch开始训练一般用于中断恢复训练场景。
.. py:method:: fit(epoch, train_dataset, valid_dataset=None, valid_frequency=1, callbacks=None, dataset_sink_mode=True, valid_dataset_sink_mode=True, sink_size=-1, initial_epoch=0)
@ -167,23 +153,21 @@
如果 `valid_dataset` 不为None在训练过程中同时执行推理。更多详细信息请参考 `mindspore.Model.model.train`
**参数:**
- **epoch** (int) 训练执行轮次。通常每个epoch都会使用全量数据集进行训练。当 `dataset_sink_mode` 设置为True且 `sink_size` 大于零时则每个epoch训练次数为 `sink_size` 而不是数据集的总步数。如果 `epoch``initial_epoch` 一起使用,它表示训练的最后一个 `epoch` 是多少。
- **train_dataset** (Dataset) 训练数据集迭代器。如果定义了 `loss_fn` ,则数据和标签会被分别传给 `network``loss_fn` 此时数据集需要返回一个元组data, label。如果数据集中有多个数据或者标签可以设置 `loss_fn` 为None并在 `network` 中实现损失函数计算此时数据集返回的所有数据组成的元组data1, data2, data3, ...)会传给 `network`
- **valid_dataset** (Dataset) 评估模型的数据集迭代器。默认值None。
- **valid_frequency** (int, list) 此参数只有在valid_dataset不为None时生效。如果为int类型表示执行推理的频率例如 `valid_frequency=2`则每2个训练epoch执行一次推理如果为list类型指明在哪几个epoch时执行推理例如 `valid_frequency=[1, 5]`则在第1个和第5个epoch执行推理。默认值1。
- **callbacks** (Optional[list[Callback], Callback]) 训练过程中需要执行的回调对象或者回调对象列表。默认值None。
- **dataset_sink_mode** (bool) 训练数据是否直接下沉至处理器进行处理。使用PYNATIVE_MODE模式或CPU处理器时模型训练流程将以非下沉模式执行。默认值True。
- **valid_dataset_sink_mode** (bool) - 推理数据是否直接下沉至处理器进行处理。默认值True。
- **sink_size** (int) 控制每次数据下沉的数据量。`dataset_sink_mode` 为False时 `sink_size` 无效。如果sink_size=-1则每一次epoch下沉完整数据集。如果sink_size>0则每一次epoch下沉数据量为sink_size的数据集。默认值-1。
- **initial_epoch** (int) - 从哪个epoch开始训练一般用于中断恢复训练场景。
参数:
- **epoch** (int) - 训练执行轮次。通常每个epoch都会使用全量数据集进行训练。当 `dataset_sink_mode` 设置为True且 `sink_size` 大于零时则每个epoch训练次数为 `sink_size` 而不是数据集的总步数。如果 `epoch``initial_epoch` 一起使用,它表示训练的最后一个 `epoch` 是多少。
- **train_dataset** (Dataset) - 训练数据集迭代器。如果定义了 `loss_fn` ,则数据和标签会被分别传给 `network``loss_fn` 此时数据集需要返回一个元组data, label。如果数据集中有多个数据或者标签可以设置 `loss_fn` 为None并在 `network` 中实现损失函数计算此时数据集返回的所有数据组成的元组data1, data2, data3, ...)会传给 `network`
- **valid_dataset** (Dataset) - 评估模型的数据集迭代器。默认值None。
- **valid_frequency** (int, list) - 此参数只有在valid_dataset不为None时生效。如果为int类型表示执行推理的频率例如 `valid_frequency=2`则每2个训练epoch执行一次推理如果为list类型指明在哪几个epoch时执行推理例如 `valid_frequency=[1, 5]`则在第1个和第5个epoch执行推理。默认值1。
- **callbacks** (Optional[list[Callback], Callback]) - 训练过程中需要执行的回调对象或者回调对象列表。默认值None。
- **dataset_sink_mode** (bool) - 训练数据是否直接下沉至处理器进行处理。使用PYNATIVE_MODE模式或CPU处理器时模型训练流程将以非下沉模式执行。默认值True。
- **valid_dataset_sink_mode** (bool) - 推理数据是否直接下沉至处理器进行处理。默认值True。
- **sink_size** (int) - 控制每次数据下沉的数据量。`dataset_sink_mode` 为False时 `sink_size` 无效。如果sink_size=-1则每一次epoch下沉完整数据集。如果sink_size>0则每一次epoch下沉数据量为sink_size的数据集。默认值-1。
- **initial_epoch** (int) - 从哪个epoch开始训练一般用于中断恢复训练场景。
.. py:method:: train_network
:property:
获得该模型的训练网络。
**返回:**
预测网络实例。
返回:
预测网络实例。

View File

@ -11,26 +11,22 @@ mindspore.ModelCheckpoint
在分布式训练场景下请为每个训练进程指定不同的目录来保存checkpoint文件。否则可能会训练失败。
如何在 `model` 方法中使用此回调函数默认将会把优化器中的参数保存到checkpoint文件中。
**参数:**
- **prefix** (str) - checkpoint文件的前缀名称。默认值'CKP'。
- **directory** (str) - 保存checkpoint文件的文件夹路径。默认情况下文件保存在当前目录下。默认值None。
- **config** (CheckpointConfig) - checkpoint策略配置。默认值None。
**异常:**
- **ValueError** - 如果prefix参数不是str类型或包含'/'字符。
- **ValueError** - 如果directory参数不是str类型。
- **TypeError** - config不是CheckpointConfig类型。
参数:
- **prefix** (str) - checkpoint文件的前缀名称。默认值'CKP'。
- **directory** (str) - 保存checkpoint文件的文件夹路径。默认情况下文件保存在当前目录下。默认值None。
- **config** (CheckpointConfig) - checkpoint策略配置。默认值None。
异常:
- **ValueError** - 如果prefix参数不是str类型或包含'/'字符。
- **ValueError** - 如果directory参数不是str类型。
- **TypeError** - config不是CheckpointConfig类型。
.. py:method:: end(run_context)
在训练结束后会保存最后一个step的checkpoint。
**参数:**
- **run_context** (RunContext) - 包含模型的一些基本信息。
参数:
- **run_context** (RunContext) - 包含模型的一些基本信息。
.. py:method:: latest_ckpt_file_name
:property:
@ -41,6 +37,5 @@ mindspore.ModelCheckpoint
在step结束时保存checkpoint。
**参数:**
- **run_context** (RunContext) - 包含模型的一些基本信息。
参数:
- **run_context** (RunContext) - 包含模型的一些基本信息。

View File

@ -10,13 +10,12 @@
- 并行场景下存在参数的形状发生变化的情况,用户可以调用 `Parameter``init_data` 方法得到原始数据。
- 如果网络中存在需要部分输入为 `Parameter` 的算子,则不允许这部分输入的 `Parameter` 进行转换。
**参数:**
- **default_input** (Union[Tensor, int, float, numpy.ndarray, list]) - 初始化参数的输入值。
- **name** (str) - 参数的名称。默认值None。如果一个网络中存在两个及以上相同名称的 `Parameter` 对象,在定义时将提示设置一个特有的名称。
- **requires_grad** (bool) - 是否需要微分求梯度。默认值True。
- **layerwise_parallel** (bool) - 在数据/混合并行模式下,`layerwise_parallel` 配置为True时参数广播和梯度聚合时会过滤掉该参数。默认值False。
- **parallel_optimizer** (bool) - 用于在 `semi_auto_parallel``auto_parallel` 并行模式下区分参数是否进行优化器切分。仅在 `mindspore.context.set_auto_parallel_context()` 并行配置模块中设置 `enable_parallel_optimizer` 启用优化器并行时有效。默认值True。
参数:
- **default_input** (Union[Tensor, int, float, numpy.ndarray, list]) - 初始化参数的输入值。
- **name** (str) - 参数的名称。默认值None。如果一个网络中存在两个及以上相同名称的 `Parameter` 对象,在定义时将提示设置一个特有的名称。
- **requires_grad** (bool) - 是否需要微分求梯度。默认值True。
- **layerwise_parallel** (bool) - 在数据/混合并行模式下,`layerwise_parallel` 配置为True时参数广播和梯度聚合时会过滤掉该参数。默认值False。
- **parallel_optimizer** (bool) - 用于在 `semi_auto_parallel``auto_parallel` 并行模式下区分参数是否进行优化器切分。仅在 `mindspore.context.set_auto_parallel_context()` 并行配置模块中设置 `enable_parallel_optimizer` 启用优化器并行时有效。默认值True。
.. py:method:: cache_enable
:property:
@ -32,13 +31,11 @@
克隆参数。
**参数:**
参数:
- **init** (Union[Tensor, str, numbers.Number]) - 初始化参数的形状和数据类型。如果 `init``Tensor``numbers.Number` ,则克隆一个具有相同数值、形状和数据类型的新参数。 如果 `init``str` ,则 `init` 将继承 `Initializer` 模块中对应的同名的类。例如,如果 `init` 是'same',则克隆一个具有相同数据、形状和数据类型的新参数。默认值:'same'。
- **init** (Union[Tensor, str, numbers.Number]) - 初始化参数的形状和数据类型。如果 `init``Tensor``numbers.Number` ,则克隆一个具有相同数值、形状和数据类型的新参数。 如果 `init``str` ,则 `init` 将继承 `Initializer` 模块中对应的同名的类。例如,如果 `init` 是'same',则克隆一个具有相同数据、形状和数据类型的新参数。默认值:'same'。
**返回:**
Parameter返回克隆的新参数。
返回:
Parameter返回克隆的新参数。
.. py:method:: comm_fusion
:property:
@ -56,28 +53,25 @@
初始化参数的数据。
**参数:**
参数:
- **layout** (Union[None, tuple]) - 参数的layout信息。layout[dev_mat, tensor_map, slice_shape, filed_size, uniform_split, opt_shard_group]默认值None。仅在 `SEMI_AUTO_PARALLEL``AUTO_PARALLEL` 模式下layout不是None。
- **layout** (Union[None, tuple]) - 参数的layout信息。layout[dev_mat, tensor_map, slice_shape, filed_size, uniform_split, opt_shard_group]默认值None。仅在 `SEMI_AUTO_PARALLEL``AUTO_PARALLEL` 模式下layout不是None。
- **dev_mat** (list(int)) - 该参数的设备矩阵。
- **tensor_map** (list(int)) - 该参数的张量映射。
- **slice_shape** (list(int)) - 该参数的切片shape。
- **filed_size** (int) - 该权重的行数。
- **uniform_split** (bool) - 该参数是否进行均匀切分。
- **opt_shard_group** (str) - 该参数进行优化器切分时的group。
- **dev_mat** (list(int)) - 该参数的设备矩阵。
- **tensor_map** (list(int)) - 该参数的张量映射。
- **slice_shape** (list(int)) - 该参数的切片shape。
- **filed_size** (int) - 该权重的行数。
- **uniform_split** (bool) - 该参数是否进行均匀切分。
- **opt_shard_group** (str) - 该参数进行优化器切分时的group。
- **set_sliced** (bool) - 参数初始化时被设定为分片则为True。默认值False。
- **set_sliced** (bool) - 参数初始化时被设定为分片则为True。默认值False。
返回:
初始化数据后的 `Parameter` 。如果当前 `Parameter` 已初始化,则更新 `Parameter` 数据。
**返回:**
初始化数据后的 `Parameter` 。如果当前 `Parameter` 已初始化,则更新 `Parameter` 数据。
**异常:**
- **RuntimeError** - 参数使用 `Initializer` 模块进行初始化,初始化后并行模式发生更改。
- **ValueError** - `layout` 长度小于6。
- **TypeError** - `layout` 不是元组。
异常:
- **RuntimeError** - 参数使用 `Initializer` 模块进行初始化,初始化后并行模式发生更改。
- **ValueError** - `layout` 长度小于6。
- **TypeError** - `layout` 不是元组。
.. py:method:: inited_param
:property:
@ -130,24 +124,21 @@
设置参数数据。
**参数:**
参数:
- **data** (Union[Tensor, int, float]) - 新数据。
- **slice_shape** (bool) - 如果 `slice_shape` 设为True则不检查 `data` 和当前参数shape的一致性。默认值False。
- **data** (Union[Tensor, int, float]) - 新数据。
- **slice_shape** (bool) - 如果 `slice_shape` 设为True则不检查 `data` 和当前参数shape的一致性。默认值False。
**返回:**
完成数据设置的新参数。
返回:
完成数据设置的新参数。
.. py:method:: set_param_fl(push_to_server=False, pull_from_server=False, requires_aggr=True)
设置参数和服务器的互动方式。
**参数:**
- **push_to_server** (bool) - 表示是否将参数推送到服务器。默认值False。
- **pull_from_server** (bool) - 表示是否应从服务器中拉取参数。默认值False。
- **requires_aggr** (bool) - 表示是否应在服务器中聚合参数。默认值True。
参数:
- **push_to_server** (bool) - 表示是否将参数推送到服务器。默认值False。
- **pull_from_server** (bool) - 表示是否应从服务器中拉取参数。默认值False。
- **requires_aggr** (bool) - 表示是否应在服务器中聚合参数。默认值True。
.. py:method:: set_param_ps(init_in_server=False)
@ -155,9 +146,8 @@
.. note:: 仅当运行的任务处于参数服务器模式下有效。
**参数:**
- **init_in_server** (bool) - 表示参数服务器更新的可训练参数是否在服务器上初始化。默认值False。
参数:
- **init_in_server** (bool) - 表示参数服务器更新的可训练参数是否在服务器上初始化。默认值False。
.. py:method:: sliced
:property:

View File

@ -12,15 +12,14 @@ mindspore.ParameterTuple
逐个对ParameterTuple中的Parameter进行克隆生成新的ParameterTuple。
**参数:**
参数:
- **prefix** (str) - Parameter的namespace此前缀将会被添加到Parametertuple中的Parameter的name属性中。
- **init** (Union[Tensor, str, numbers.Number]) - 对Parametertuple中Parameter的shape和类型进行克隆并根据传入的 `init` 设置数值。默认值:'same'。
- **prefix** (str) - Parameter的namespace此前缀将会被添加到Parametertuple中的Parameter的name属性中。
- **init** (Union[Tensor, str, numbers.Number]) - 对Parametertuple中Parameter的shape和类型进行克隆并根据传入的 `init` 设置数值。默认值:'same'。
如果 `init``Tensor` 则新参数的数值与该Tensor相同
如果 `init``numbers.Number` ,则设置新参数的数值为该值;
如果 `init``str` ,则按照 `Initializer` 模块中对应的同名的初始化方法进行数值设定;
如果 `init` 是'same'则新参数的数值与原Parameter相同。
- 如果 `init``Tensor` 则新参数的数值与该Tensor相同。
- 如果 `init``numbers.Number` ,则设置新参数的数值为该值。
- 如果 `init``str` ,则按照 `Initializer` 模块中对应的同名的初始化方法进行数值设定。
- 如果 `init` 是'same'则新参数的数值与原Parameter相同。
**返回:**
新的参数元组。
返回:
新的参数元组。

View File

@ -5,16 +5,14 @@ mindspore.Profiler
MindSpore用户能够通过该类对神经网络的性能进行采集。可以通过导入 `mindspore.Profiler` 然后初始化Profiler对象以开始分析使用 `Profiler.analyse()` 停止收集和分析。可通过Mindinsight工具可视化分析结果。目前Profiler支持AICORE算子、AICPU算子、HostCPU算子、内存、设备通信、集群等数据的分析。
**参数:**
- **output_path** (str, 可选) 表示输出数据的路径。默认值:"./data"。
- **profile_communication** (bool, 可选) 仅限Ascend表示是否在多设备训练中收集通信性能数据。当值为True时收集这些数据。在单台设备训练中该参数的设置无效。默认值False。
- **profile_memory** (bool, 可选) 仅限Ascend表示是否收集Tensor内存数据。当值为True时收集这些数据。默认值False。
- **start_profile** (bool, 可选) 该参数控制是否在Profiler初始化的时候开启数据采集。默认值True。
参数:
- **output_path** (str, 可选) - 表示输出数据的路径。默认值:"./data"。
- **profile_communication** (bool, 可选) - 仅限Ascend表示是否在多设备训练中收集通信性能数据。当值为True时收集这些数据。在单台设备训练中该参数的设置无效。默认值False。
- **profile_memory** (bool, 可选) - 仅限Ascend表示是否收集Tensor内存数据。当值为True时收集这些数据。默认值False。
- **start_profile** (bool, 可选) - 该参数控制是否在Profiler初始化的时候开启数据采集。默认值True。
**异常:**
- **RuntimeError** 当CANN的版本与MindSpore版本不匹配时生成的ascend_job_id目录结构MindSpore无法解析。
异常:
- **RuntimeError** - 当CANN的版本与MindSpore版本不匹配时生成的ascend_job_id目录结构MindSpore无法解析。
.. py:method:: analyse()
@ -24,35 +22,27 @@ mindspore.Profiler
获取primitive类型的算子性能数据。
**参数:**
参数:
- **op_name** (str 或 list) - 表示要查询的primitive算子类型。
- **device_id** (int, 可选) - 设备卡号表示指定解析哪张卡的算子性能数据。在网络训练或者推理时使用该参数可选。基于离线数据解析使用该接口时默认值0。
- **op_name** (str 或 list) 表示要查询的primitive算子类型。
- **device_id** (int, 可选) 设备卡号表示指定解析哪张卡的算子性能数据。在网络训练或者推理时使用该参数可选。基于离线数据解析使用该接口时默认值0。
**异常:**
- **TypeError** op_name参数类型不正确。
- **TypeError** device_id参数类型不正确。
- **RunTimeError** 在Ascend上使用该接口获取性能数据。
**支持平台:**
``GPU`` ``CPU``
异常:
- **TypeError** - op_name参数类型不正确。
- **TypeError** - device_id参数类型不正确。
- **RunTimeError** - 在Ascend上使用该接口获取性能数据。
.. py:method:: start()
开启Profiler数据采集可以按条件开启Profiler。
**异常:**
- **RuntimeError** profiler已经开启。
- **RuntimeError** 停止Minddata采集后不支持重复开启。
- **RuntimeError** 如果start_profile参数未设置或设置为True。
异常:
- **RuntimeError** - profiler已经开启。
- **RuntimeError** - 停止Minddata采集后不支持重复开启。
- **RuntimeError** - 如果start_profile参数未设置或设置为True。
.. py:method:: stop()
停止Profiler可以按条件停止Profiler。
**异常:**
- **RuntimeError** profiler没有开启。
异常:
- **RuntimeError** - profiler没有开启。

View File

@ -8,15 +8,12 @@ mindspore.get_algo_parameters
.. note::
属性名称为必填项。此接口仅在AUTO_PARALLEL模式下工作。
**参数:**
参数:
- **attr_key** (str) - 属性的key。key包括"fully_use_devices"、"elementwise_op_strategy_follow"、"enable_algo_approxi"、"algo_approxi_epsilon"、"tensor_slice_align_enable"和"tensor_slice_align_size"。
- **attr_key** (str) - 属性的key。key包括"fully_use_devices"、"elementwise_op_strategy_follow"、"enable_algo_approxi"、"algo_approxi_epsilon"、"tensor_slice_align_enable”和"tensor_slice_align_size"。
返回:
根据key返回属性值。
**返回:**
根据key返回属性值。
**异常:**
- **ValueError** - 无法识别传入的关键字。
异常:
- **ValueError** - 无法识别传入的关键字。

View File

@ -5,14 +5,11 @@ mindspore.get_auto_parallel_context
根据key获取自动并行的配置。
**参数:**
参数:
- **attr_key** (str) - 配置的key。
- **attr_key** (str) - 配置的key。
返回:
根据key返回配置的值。
**返回:**
根据key返回配置的值。
**异常:**
**ValueError**输入key不在自动并行的配置列表中。
异常:
- **ValueError** - 输入key不在自动并行的配置列表中。

View File

@ -1,19 +1,15 @@
mindspore.get_context
======================
.. py:function:: mindspore.get_context(attr_key)
根据输入key获取context中的属性值。如果该key没有设置则会获取它们这些的默认值。
**参数:**
参数:
- **attr_key** (str) - 属性的key。
- **attr_key** (str) - 属性的key。
返回:
Object表示给定属性key的值。
**返回:**
Object表示给定属性key的值。
**异常:**
**ValueError**输入key不是context中的属性。
异常:
- **ValueError** - 输入key不是context中的属性。

View File

@ -5,6 +5,5 @@ mindspore.get_level
获取日志记录器的级别。
**返回:**
string日志级别包括4(EXCEPTION)、3(ERROR)、2(WARNING)、1(INFO)和0(DEBUG)。
返回:
string日志级别包括4(EXCEPTION)、3(ERROR)、2(WARNING)、1(INFO)和0(DEBUG)。

View File

@ -5,6 +5,5 @@ mindspore.get_log_config
获取日志配置。
**返回:**
Dict日志配置字典。
返回:
Dict日志配置字典。

View File

@ -5,21 +5,18 @@ mindspore.get_ps_context
根据key获取参数服务器训练模式上下文中的属性值。
**参数:**
参数:
- **attr_key** (str) - 属性的key。
- **attr_key** (str) - 属性的key。
- enable_ps (bool)表示是否启用参数服务器训练模式。默认值False。
- config_file_path (string):配置文件路径,用于容灾恢复等。默认值:''。
- scheduler_manage_port (int)调度器HTTP端口对外开放用于接收和处理用户扩容/缩容等请求。默认值11202。
- enable_ssl (bool)设置是否打开SSL认证。默认值False。
- client_password (str):用于解密客户端证书密钥的密码。默认值:''。
- server_password (str):用于解密服务端证书密钥的密码。默认值:''。
- enable_ps (bool)表示是否启用参数服务器训练模式。默认值False。
- config_file_path (string):配置文件路径,用于容灾恢复等。默认值:''。
- scheduler_manage_port (int)调度器HTTP端口对外开放用于接收和处理用户扩容/缩容等请求。默认值11202。
- enable_ssl (bool)设置是否打开SSL认证。默认值False。
- client_password (str):用于解密客户端证书密钥的密码。默认值:''。
- server_password (str):用于解密服务端证书密钥的密码。默认值:''。
返回:
根据key返回属性值。
**返回:**
根据key返回属性值。
**异常:**
**ValueError** - 输入key不是参数服务器训练模式上下文中的属性。
异常:
- **ValueError** - 输入key不是参数服务器训练模式上下文中的属性。

View File

@ -5,10 +5,8 @@ mindspore.get_py_obj_dtype
将Python数据类型转换为MindSpore数据类型。
**参数:**
参数:
- **obj** (type) - Python数据对象或在Python环境中定义的变量。
- **obj** (type) Python数据对象或在Python环境中定义的变量。
**返回:**
MindSpore的数据类型。
返回:
MindSpore的数据类型。

View File

@ -5,6 +5,5 @@ mindspore.get_seed
获取随机种子。
**返回:**
int随机种子。
返回:
int随机种子。

View File

@ -5,11 +5,9 @@ mindspore.issubclass\_
判断 `type_` 是否为 `dtype` 的子类。
**参数:**
参数:
- **type_** (mindspore.dtype) - MindSpore中的目标dtype。
- **dtype** (mindspore.dtype) - dtype的比较对象。
- **type_** (mindspore.dtype) MindSpore中的目标dtype。
- **dtype** (mindspore.dtype) dtype的比较对象。
**返回:**
boolTrue或False。
返回:
boolTrue或False。

View File

@ -7,20 +7,17 @@ mindspore.load
返回一个可以由 `GraphCell` 执行的对象,更多细节参见类 :class:`mindspore.nn.GraphCell`
**参数:**
参数:
- **file_name** (str) - MindIR文件的全路径名。
- **kwargs** (dict) - 配置项字典。
- **file_name** (str) MindIR文件的全路径名。
- **kwargs** (dict) 配置项字典。
- **dec_key** (bytes) - 用于解密的字节类型密钥。有效长度为 16、24 或 32。
- **dec_mode** (Union[str, function]) - 指定解密模式设置dec_key时生效。可选项'AES-GCM' | 'AES-CBC' 自定义解密函数。默认值:"AES-GCM"。
- 关于使用自定义解密加载的详情,请查看 `教程 <https://www.mindspore.cn/mindarmour/docs/zh-CN/master/model_encrypt_protection.html>`_
- **dec_key** (bytes) - 用于解密的字节类型密钥。 有效长度为 16、24 或 32。
- **dec_mode** (Union[str, function]) - 指定解密模式设置dec_key时生效。可选项'AES-GCM' | 'AES-CBC' 自定义解密函数。默认值:"AES-GCM"。
- 关于使用自定义解密加载的详情, 请查看 `教程 <https://www.mindspore.cn/mindarmour/docs/zh-CN/master/model_encrypt_protection.html>`_
返回:
GraphCell一个可以由 `GraphCell` 构成的可执行的编译图。
**返回:**
GraphCell一个可以由 `GraphCell` 构成的可执行的编译图。
**异常:**
- **ValueError** MindIR 文件名不存在或 `file_name` 不是string类型。
- **RuntimeError** - 解析MindIR文件失败。
异常:
- **ValueError** - MindIR文件名不存在或 `file_name` 不是string类型。
- **RuntimeError** - 解析MindIR文件失败。

View File

@ -9,23 +9,20 @@ mindspore.load_checkpoint
- `specify_prefix``filter_prefix` 的功能相互之间没有影响。
- 如果发现没有参数被成功加载将会报ValueError.
**参数:**
参数:
- **ckpt_file_name** (str) - checkpoint的文件名称。
- **net** (Cell) - 加载checkpoint参数的网络。默认值None。
- **strict_load** (bool) - 是否将严格加载参数到网络中。如果是False, 它将根据相同的后缀名将参数字典中的参数加载到网络中,并会在精度不匹配时,进行强制精度转换,比如将 `float32` 转换为 `float16` 。默认值False。
- **filter_prefix** (Union[str, list[str], tuple[str]]) - 以 `filter_prefix` 开头的参数将不会被加载。默认值None。
- **dec_key** (Union[None, bytes]) - 用于解密的字节类型密钥如果值为None则不需要解密。默认值None。
- **dec_mode** (str) - 该参数仅当 `dec_key` 不为None时有效。指定解密模式目前支持"AES-GCM"和"AES-CBC"。默认值:"AES-GCM"。
- **specify_prefix** (Union[str, list[str], tuple[str]]) - 以 `specify_prefix` 开头的参数将会被加载。默认值None。
- **ckpt_file_name** (str) checkpoint的文件名称。
- **net** (Cell) 加载checkpoint参数的网络。默认值None。
- **strict_load** (bool) 是否将严格加载参数到网络中。如果是False, 它将根据相同的后缀名将参数字典中的参数加载到网络中,并会在精度不匹配时,进行强制精度转换,比如将 `float32` 转换为 `float16` 。默认值False。
- **filter_prefix** (Union[str, list[str], tuple[str]]) `filter_prefix` 开头的参数将不会被加载。默认值None。
- **dec_key** (Union[None, bytes]) 用于解密的字节类型密钥如果值为None则不需要解密。默认值None。
- **dec_mode** (str) 该参数仅当 `dec_key` 不为None时有效。指定解密模式目前支持“AES-GCM”和“AES-CBC”。默认值“AES-GCM”。
- **specify_prefix** (Union[str, list[str], tuple[str]]) `specify_prefix` 开头的参数将会被加载。默认值None。
返回:
字典key是参数名称value是Parameter类型。当使用 :func:`mindspore.save_checkpoint``append_dict` 参数和 :class:`CheckpointConfig``append_info` 参数保存
checkpoint `append_dict``append_info` 是dict类型且它们的值value是string时加载checkpoint得到的返回值是string类型其它情况返回值均是Parameter类型。
**返回:**
字典key是参数名称value是Parameter类型。当使用 :func:`mindspore.save_checkpoint``append_dict` 参数和 :class:`CheckpointConfig``append_info` 参数保存
checkpoint `append_dict``append_info` 是dict类型且它们的值value是string时加载checkpoint得到的返回值是string类型其它情况返回值均是Parameter类型。
**异常:**
- **ValueError** checkpoint文件格式不正确。
- **ValueError** 没有一个参数被成功加载。
- **TypeError** `specify_prefix` 或者 `filter_prefix` 的数据类型不正确。
异常:
- **ValueError** - checkpoint文件格式不正确。
- **ValueError** - 没有一个参数被成功加载。
- **TypeError** - `specify_prefix` 或者 `filter_prefix` 的数据类型不正确。

View File

@ -3,19 +3,17 @@ mindspore.load_distributed_checkpoint
.. py:function:: mindspore.load_distributed_checkpoint(network, checkpoint_filenames, predict_strategy=None, train_strategy_filename=None, strict_load=False, dec_key=None, dec_mode='AES-GCM')
给分布式预测加载checkpoint文件到网络用于分布式推理。关于分布式推理的细节请参考 https://www.mindspore.cn/tutorials/experts/zh-CN/master/parallel/distributed_inference.html
给分布式预测加载checkpoint文件到网络用于分布式推理。关于分布式推理的细节请参考https://www.mindspore.cn/tutorials/experts/zh-CN/master/parallel/distributed_inference.html。
**参数:**
参数:
- **network** (Cell) - 分布式预测网络。
- **checkpoint_filenames** (list[str]) - checkpoint文件的名称按rank id顺序排列。
- **predict_strategy** (dict) - 预测时参数的切分策略。
- **train_strategy_filename** (str) - 训练策略proto文件名。默认值None。
- **strict_load** (bool) - 表示是否严格加载参数到网络。如果值为False则当checkpoint文件中参数名称的后缀与网络中的参数相同时加载参数到网络。当类型不一致时对相同类型的参数进行类型转换如从float32到float16。默认值False。
- **dec_key** (Union[None, bytes]) - 用于解密的字节类型key。如果value为None则不需要解密。默认值None。
- **dec_mode** (str) - 仅当dec_key不设为None时该参数有效。指定了解密模式目前支持AES-GCM和AES-CBC。默认值AES-GCM。
- **network** (Cell) - 分布式预测网络。
- **checkpoint_filenames** (list[str]) - checkpoint文件的名称按rank id 顺序排列。
- **predict_strategy** (dict) - 预测时参数的切分策略。
- **train_strategy_filename** (str) - 训练策略proto文件名。默认值None。
- **strict_load** (bool) - 表示是否严格加载参数到网络。如果值为False则当checkpoint文件中参数名称的后缀与网络中的参数相同时加载参数到网络。当类型不一致时对相同类型的参数进行类型转换如从float32到float16。默认值False。
- **dec_key** (Union[None, bytes]) - 用于解密的字节类型key。如果value为None则不需要解密。默认值None。
- **dec_mode** (str) - 仅当dec_key不设为None时该参数有效。指定了解密模式目前支持AES-GCM和AES-CBC。默认值AES-GCM。
**异常:**
- **TypeError** 输入类型不符合要求。
- **ValueError** 无法加载checkpoint文件到网络。
异常:
- **TypeError** - 输入类型不符合要求。
- **ValueError** - 无法加载checkpoint文件到网络。

View File

@ -5,16 +5,13 @@ mindspore.load_param_into_net
将参数加载到网络中,返回网络中没有被加载的参数列表。
**参数:**
参数:
- **net** (Cell) - 将要加载参数的网络。
- **parameter_dict** (dict) - 加载checkpoint文件得到的字典。
- **strict_load** (bool) - 是否将参数严格加载到网络中。如果是False, 它将以相同的后缀名将参数字典中的参数加载到网络中,并会在精度不匹配时,进行精度转换,比如将 `float32` 转换为 `float16` 。默认值False。
- **net** (Cell) 将要加载参数的网络。
- **parameter_dict** (dict) 加载checkpoint文件得到的字典。
- **strict_load** (bool) 是否将参数严格加载到网络中。如果是False, 它将以相同的后缀名将参数字典中的参数加载到网络中,并会在精度不匹配时,进行精度转换,比如将 `float32` 转换为 `float16` 。默认值False。
返回:
List网络中没有被加载的参数。
**返回:**
List网络中没有被加载的参数。
**异常:**
- **TypeError** 如果参数不是Cell或者 `parameter_dict` 不是Parameter类型的字典。
异常:
- **TypeError** - 如果参数不是Cell或者 `parameter_dict` 不是Parameter类型的字典。

View File

@ -5,17 +5,14 @@ mindspore.merge_sliced_parameter
将参数切片合并为一个完整的参数,用于分布式推理。关于它的细节,请参考:`保存和加载模型HyBrid Parallel模式 <https://www.mindspore.cn/tutorials/experts/zh-CN/master/parallel/save_load.html>`_
**参数:**
参数:
- **sliced_parameters** (list[Parameter]) - 参数切片按rank id进行排列。
- **strategy** (Optional[dict]) - 参数切片策略key为参数名称value为该参数的切片策略。如果 `strategy` 为None则只需按0轴顺序合并参数切片。默认值None。
- **sliced_parameters** (list[Parameter]) - 参数切片按rank id进行排列。
- **strategy** (Optional[dict]) - 参数切片策略key为参数名称value为该参数的切片策略。如果 `strategy` 为None则只需按0轴顺序合并参数切片。默认值None
返回:
合并后的参数,包含所有数据
**返回:**
合并后的参数,包含所有数据。
**异常:**
- **ValueError** - 合并失败。
- **TypeError** - `sliced_parameters` 不正确或 `strategy` 不是dict。
- **KeyError** - 参数名称不在策略的key中。
异常:
- **ValueError** - 合并失败。
- **TypeError** - `sliced_parameters` 不正确或 `strategy` 不是dict。
- **KeyError** - 参数名称不在策略的key中。

View File

@ -7,15 +7,12 @@ mindspore.ms_class
MindSpore可以通过ms_class识别用户定义的类从而获取这些类的属性和方法。
**参数:**
参数:
- **cls** (Class) - 用户自定义的类。
- **cls** (Class) - 用户自定义的类。
返回:
带有 __ms_class__ 属性的类。
**返回:**
带有 __ms_class__ 属性的类。
**异常:**
- **TypeError** 如果 ms_class 用于非 class 类型或者 nn.Cell。
- **AttributeError** 如果调用了 ms_class 装饰的类的私有属性或魔术方法。
异常:
- **TypeError** - 如果 ms_class 用于非 class 类型或者 nn.Cell。
- **AttributeError** - 如果调用了 ms_class 装饰的类的私有属性或魔术方法。

View File

@ -7,17 +7,15 @@ mindspore.ms_function
MindSpore可以在运行时对图进行优化。
**参数:**
- **fn** (Function) - 要编译成图的Python函数。默认值None。
- **input_signature** (Tensor) - 用于表示输入参数的Tensor。Tensor的shape和dtype将作为函数的输入shape和dtype。默认值None。
- **hash_args** (Union[Object, List or Tuple of Objects]) - `fn` 里面用到的自由变量,比如外部函数或类对象,再次调用时若 `hash_args` 出现变化会触发重新编译。默认值None。
- **jit_config** (JitConfig) - 编译时所使用的JitConfig配置项详细可参考 :class:`mindspore.JitConfig`。默认值None。
参数:
- **fn** (Function) - 要编译成图的Python函数。默认值None。
- **input_signature** (Tensor) - 用于表示输入参数的Tensor。Tensor的shape和dtype将作为函数的输入shape和dtype。默认值None。
- **hash_args** (Union[Object, List or Tuple of Objects]) - `fn` 里面用到的自由变量,比如外部函数或类对象,再次调用时若 `hash_args` 出现变化会触发重新编译。默认值None。
- **jit_config** (JitConfig) - 编译时所使用的JitConfig配置项详细可参考 :class:`mindspore.JitConfig`。默认值None。
.. note::
- 如果指定了 `input_signature` ,则 `fn` 的每个输入都必须是Tensor。并且 `fn` 的输入参数将不会接受 `**kwargs` 参数。
**返回:**
函数,如果 `fn` 不是None则返回一个已经将输入 `fn` 编译成图的可执行函数;如果 `fn` 为None则返回一个装饰器。当这个装饰器使用单个 `fn` 参数进行调用时,等价于 `fn` 不是None的场景。
返回:
函数,如果 `fn` 不是None则返回一个已经将输入 `fn` 编译成图的可执行函数;如果 `fn` 为None则返回一个装饰器。当这个装饰器使用单个 `fn` 参数进行调用时,等价于 `fn` 不是None的场景。

View File

@ -8,11 +8,10 @@ mindspore.mutable
当前除了Tensor所有顶层网络的输入例如标量、tuple、list和dict都被当做常量值。常量值是不能求导的而且在编译优化阶段会被常量折叠掉。
另外当网络的输入是tuple[Tensor], list[Tensor]或Dict[Tensor]时即使里面Tensor的shape和dtype没有发生变化在多次调用同一个网络的时候这个网络每次都会被重新编译这是因为这些类型的输入被当做常量值处理了。
为解决以上的问题,我们提供了 `mutable` 接口去设置网络的常量输入为“可变的”。一个“可变的”输入意味着这个输入成为了像Tensor一样的变量。最重要的是我们可以对其进行求导了。
为解决以上的问题,我们提供了 `mutable` 接口去设置网络的常量输入为"可变的"。一个"可变的"输入意味着这个输入成为了像Tensor一样的变量。最重要的是我们可以对其进行求导了。
**参数:**
- **input_data** (Union[Tensor, tuple[Tensor], list[Tensor], dict[Tensor]]) - 要设置为可变的输入数据。
参数:
- **input_data** (Union[Tensor, tuple[Tensor], list[Tensor], dict[Tensor]]) - 要设置为可变的输入数据。
.. warning::
- 这是一个实验特性,未来有可能被修改或删除。
@ -21,10 +20,8 @@ mindspore.mutable
- 当前暂时只支持在网络外部使用该接口。
- 当前该接口只在图模式下生效。
**返回:**
返回:
状态设置为可变的原输入数据。
状态设置为可变的原输入数据。
**异常:**
- **TypeError** 如果 `input_data` 不是Tensor、tuple[Tensor]、list[Tensor]或dict[Tensor]的其中一种类型或者不是它们的嵌套结构。
异常:
- **TypeError** - 如果 `input_data` 不是Tensor、tuple[Tensor]、list[Tensor]或dict[Tensor]的其中一种类型或者不是它们的嵌套结构。

View File

@ -5,15 +5,12 @@ mindspore.parse_print
解析由 mindspore.ops.Print 生成的数据文件。
**参数:**
参数:
- **print_file_name** (str) - 需要解析的文件名。
**print_file_name** (str) 需要解析的文件名。
返回:
List由Tensor组成的list。
**返回:**
List由Tensor组成的list。
**异常:**
- **ValueError** 指定的文件不存在或为空。
- **RuntimeError** - 解析文件失败。
异常:
- **ValueError** - 指定的文件不存在或为空。
- **RuntimeError** - 解析文件失败。