modify api annotation
This commit is contained in:
parent
8985b2626d
commit
97d0779245
|
@ -1,61 +1,59 @@
|
|||
Class mindspore.nn.ForwardValueAndGrad(network, weights=None, get_all=False, get_by_list=False, sens_param=False)
|
||||
mindspore.nn.ForwardValueAndGrad
|
||||
===================================
|
||||
|
||||
.. py:class:: mindspore.nn.ForwardValueAndGrad(network, weights=None, get_all=False, get_by_list=False, sens_param=False)
|
||||
|
||||
网络训练包类。
|
||||
|
||||
包括正向网络和梯度函数。该类生成的Cell使用'\*inputs'输入来训练。
|
||||
通过梯度函数来创建反向图,用以计算梯度。
|
||||
|
||||
参数:
|
||||
network (Cell):训练网络。
|
||||
weights (ParameterTuple):训练网络中需要计算梯度的的参数。
|
||||
get_all (bool):如果为True,则计算网络输入对应的梯度。默认值:False。
|
||||
get_by_list (bool):如果为True,则计算参数变量对应的梯度。
|
||||
如果get_all和get_by_list都为False,则计算第一个输入对应的梯度。
|
||||
如果get_all和get_by_list都为True,则以((输入的梯度),(参数的梯度))的形式同时获取输入和参数变量的梯度。
|
||||
|
||||
默认值:False。
|
||||
sens_param (bool):是否将sens作为输入。
|
||||
如果sens_param为False,则sens默认为'ones_like(outputs)'。
|
||||
默认值:False。
|
||||
如果sens_param为True,则需要指定sens的值。
|
||||
**参数:**
|
||||
|
||||
- **network** (Cell) - 训练网络。
|
||||
- **weights** (ParameterTuple) - 训练网络中需要计算梯度的的参数。
|
||||
- **get_all** (bool) - 如果为True,则计算网络输入对应的梯度。默认值:False。
|
||||
- **get_by_list** (bool) - 如果为True,则计算参数变量对应的梯度。如果 `get_all` 和 `get_by_list` 都为False,则计算第一个输入对应的梯度。如果 `get_all` 和 `get_by_list` 都为True,则以((输入的梯度),(参数的梯度))的形式同时获取输入和参数变量的梯度。默认值:False。
|
||||
- **sens_param** (bool) - 是否将sens作为输入。如果 `sens_param` 为False,则sens默认为'ones_like(outputs)'。默认值:False。如果 `sens_param` 为True,则需要指定sens的值。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **(\*inputs)** (Tuple(Tensor...)):shape为 :math:`(N, \ldots)` 的输入tuple。
|
||||
- **(sens)**:反向传播梯度的缩放值。如果网络有单个输出,则sens是tensor。如果网络有多个输出,则sens是tuple(tensor)。
|
||||
|
||||
输入:
|
||||
- **(\*inputs)** (Tuple(Tensor...)):shape为:math:`(N, \ldots)`的输入tuple。
|
||||
- **(sens)**:反向传播梯度的缩放值。
|
||||
如果网络有单个输出,则sens是tensor。
|
||||
如果网络有多个输出,则sens是tuple(tensor)。
|
||||
**输出:**
|
||||
|
||||
输出:
|
||||
- **forward value**:网络运行的正向结果。
|
||||
- **gradients** (tuple(tensor)):网络反向传播的梯度。
|
||||
- **forward value** - 网络运行的正向结果。
|
||||
- **gradients** (tuple(tensor)) - 网络反向传播的梯度。
|
||||
|
||||
支持平台:
|
||||
``Ascend`` ``GPU`` ``CPU``
|
||||
**支持平台:**
|
||||
|
||||
示例:
|
||||
>>> class Net(nn.Cell):
|
||||
... def __init__(self):
|
||||
... super(Net, self).__init__()
|
||||
... self.weight = Parameter(Tensor(np.ones([2, 2]).astype(np.float32)), name="weight")
|
||||
... self.matmul = P.MatMul()
|
||||
...
|
||||
... def construct(self, x):
|
||||
... out = self.matmul(x, self.weight)
|
||||
... return out
|
||||
...
|
||||
>>> net = Net()
|
||||
>>> criterion = nn.SoftmaxCrossEntropyWithLogits()
|
||||
>>> net_with_criterion = nn.WithLossCell(net, criterion)
|
||||
>>> weight = ParameterTuple(net.trainable_params())
|
||||
>>> train_network = nn.ForwardValueAndGrad(net_with_criterion, weights=weight, get_all=True, get_by_list=True)
|
||||
>>> inputs = Tensor(np.ones([1, 2]).astype(np.float32))
|
||||
>>> labels = Tensor(np.zeros([1, 2]).astype(np.float32))
|
||||
>>> result = train_network(inputs, labels)
|
||||
>>> print(result)
|
||||
(Tensor(shape=[1], dtype=Float32, value=[0.00000000e+00]), ((Tensor(shape=[1, 2], dtype=Float32, value=
|
||||
[[1.00000000e+00, 1.00000000e+00]]), Tensor(shape=[1, 2], dtype=Float32, value=
|
||||
[[0.00000000e+00, 0.00000000e+00]])), (Tensor(shape=[2, 2], dtype=Float32, value=
|
||||
[[5.00000000e-01, 5.00000000e-01],
|
||||
[5.00000000e-01, 5.00000000e-01]]),)))
|
||||
``Ascend`` ``GPU`` ``CPU``
|
||||
|
||||
**样例:**
|
||||
|
||||
>>> class Net(nn.Cell):
|
||||
... def __init__(self):
|
||||
... super(Net, self).__init__()
|
||||
... self.weight = Parameter(Tensor(np.ones([2, 2]).astype(np.float32)), name="weight")
|
||||
... self.matmul = P.MatMul()
|
||||
...
|
||||
... def construct(self, x):
|
||||
... out = self.matmul(x, self.weight)
|
||||
... return out
|
||||
...
|
||||
>>> net = Net()
|
||||
>>> criterion = nn.SoftmaxCrossEntropyWithLogits()
|
||||
>>> net_with_criterion = nn.WithLossCell(net, criterion)
|
||||
>>> weight = ParameterTuple(net.trainable_params())
|
||||
>>> train_network = nn.ForwardValueAndGrad(net_with_criterion, weights=weight, get_all=True, get_by_list=True)
|
||||
>>> inputs = Tensor(np.ones([1, 2]).astype(np.float32))
|
||||
>>> labels = Tensor(np.zeros([1, 2]).astype(np.float32))
|
||||
>>> result = train_network(inputs, labels)
|
||||
>>> print(result)
|
||||
(Tensor(shape=[1], dtype=Float32, value=[0.00000000e+00]), ((Tensor(shape=[1, 2], dtype=Float32, value=
|
||||
[[1.00000000e+00, 1.00000000e+00]]), Tensor(shape=[1, 2], dtype=Float32, value=
|
||||
[[0.00000000e+00, 0.00000000e+00]])), (Tensor(shape=[2, 2], dtype=Float32, value=
|
||||
[[5.00000000e-01, 5.00000000e-01],
|
||||
[5.00000000e-01, 5.00000000e-01]]),)))
|
||||
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.SummaryCollector
|
||||
==========================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.SummaryCollector(summary_dir, collect_freq=10, collect_specified_data=None, keep_default_action=True, custom_lineage_data=None, collect_tensor_freq=None, max_file_size=None, export_options=None)
|
||||
|
||||
SummaryCollector可以收集一些常用信息。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.Callback
|
||||
===================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.Callback
|
||||
|
||||
用于构建回调函数的基类。回调函数是一个上下文管理器,在运行模型时被调用。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.CheckpointConfig
|
||||
==========================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.CheckpointConfig(save_checkpoint_steps=1, save_checkpoint_seconds=0, keep_checkpoint_max=5, keep_checkpoint_per_n_minutes=0, integrated_save=True, async_save=False, saved_network=None, append_info=None, enc_key=None, enc_mode='AES-GCM')
|
||||
|
||||
保存checkpoint时的配置策略。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.LearningRateScheduler
|
||||
===============================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.LearningRateScheduler(learning_rate_function)
|
||||
|
||||
在训练期间更改学习率。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.LossMonitor
|
||||
=======================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.LossMonitor(per_print_times=1)
|
||||
|
||||
监控训练的loss。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.ModelCheckpoint
|
||||
==========================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.ModelCheckpoint(prefix='CKP', directory=None, config=None)
|
||||
|
||||
checkpoint的回调函数。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.RunContext
|
||||
====================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.RunContext(original_args)
|
||||
|
||||
提供模型的相关信息。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.callback.TimeMonitor
|
||||
=====================================
|
||||
|
||||
.. py:class:: mindspore.train.callback.TimeMonitor(data_size=None)
|
||||
|
||||
监控训练时间。
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
mindspore.train.summary.SummaryRecord
|
||||
=======================================
|
||||
|
||||
.. py:class:: mindspore.train.summary.SummaryRecord(log_dir, file_prefix='events', file_suffix='_MS', network=None, max_file_size=None, raise_exception=False, export_options=None)
|
||||
|
||||
SummaryRecord用于记录summary数据和lineage数据。
|
||||
|
@ -76,7 +79,6 @@
|
|||
... with SummaryRecord(log_dir="./summary_dir", file_prefix="xx_", file_suffix="_yy") as summary_record:
|
||||
... summary_record.add_value('scalar', 'loss', Tensor(0.1))
|
||||
|
||||
|
||||
.. py:method:: close()
|
||||
|
||||
将所有事件持久化并关闭SummaryRecord。请使用with语句或try…finally语句进行自动关闭。
|
||||
|
@ -90,7 +92,6 @@
|
|||
... finally:
|
||||
... summary_record.close()
|
||||
|
||||
|
||||
.. py:method:: flush()
|
||||
|
||||
将事件文件持久化到磁盘。
|
||||
|
@ -104,7 +105,6 @@
|
|||
... with SummaryRecord(log_dir="./summary_dir", file_prefix="xx_", file_suffix="_yy") as summary_record:
|
||||
... summary_record.flush()
|
||||
|
||||
|
||||
.. py:method:: log_dir
|
||||
:property:
|
||||
|
||||
|
@ -121,7 +121,6 @@
|
|||
... with SummaryRecord(log_dir="./summary_dir", file_prefix="xx_", file_suffix="_yy") as summary_record:
|
||||
... log_dir = summary_record.log_dir
|
||||
|
||||
|
||||
.. py:method:: record(step, train_network=None, plugin_filter=None)
|
||||
|
||||
记录summary。
|
||||
|
@ -150,7 +149,6 @@
|
|||
...
|
||||
True
|
||||
|
||||
|
||||
.. py:method:: set_mode(mode)
|
||||
|
||||
设置训练阶段。不同的训练阶段会影响数据记录。
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
mindspore.build_searched_strategy
|
||||
==================================
|
||||
=======================================
|
||||
|
||||
.. py:method:: mindspore.build_searched_strategy(strategy_filename)
|
||||
.. py:class:: mindspore.build_searched_strategy(strategy_filename)
|
||||
|
||||
构建网络中每个参数的策略,用于分布式推理。关于它的使用细节,请参考:`保存和加载模型(HyBrid Parallel模式) <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/save_load_model_hybrid_parallel.html>`_。
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ mindspore.dtype_to_nptype
|
|||
|
||||
**参数:**
|
||||
|
||||
**type_** (mindspore.dtype) – MindSpore中的dtype。
|
||||
**type_** (mindspore.dtype) – MindSpore中的dtype。
|
||||
|
||||
**返回:**
|
||||
|
||||
NumPy的数据类型。
|
||||
NumPy的数据类型。
|
|
@ -6,10 +6,9 @@ mindspore.set_seed
|
|||
设置全局种子。
|
||||
|
||||
.. note::
|
||||
|
||||
全局种子可用于numpy.random,mindspore.common.Initializer,mindspore.ops.composite.random_ops以及mindspore.nn.probability.distribution。
|
||||
如果没有设置全局种子,这些包将会各自使用自己的种子,numpy.random和mindspore.common.Initializer将会随机选择种子值,mindspore.ops.composite.random_ops和mindspore.nn.probability.distribution将会使用零作为种子值。
|
||||
numpy.random.seed()设置的种子仅能被numpy.random使用,而这个API设置的种子也可被numpy.random使用,因此推荐使用这个API设置所有的种子。
|
||||
- 全局种子可用于numpy.random,mindspore.common.Initializer,mindspore.ops.composite.random_ops以及mindspore.nn.probability.distribution。
|
||||
- 如果没有设置全局种子,这些包将会各自使用自己的种子,numpy.random和mindspore.common.Initializer将会随机选择种子值,mindspore.ops.composite.random_ops和mindspore.nn.probability.distribution将会使用零作为种子值。
|
||||
- numpy.random.seed()设置的种子仅能被numpy.random使用,而这个API设置的种子也可被numpy.random使用,因此推荐使用这个API设置所有的种子。
|
||||
|
||||
**参数:**
|
||||
|
||||
|
@ -20,33 +19,30 @@ mindspore.set_seed
|
|||
- **ValueError** – 种子值非法 (小于0)。
|
||||
- **TypeError** – 种子值非整型数。
|
||||
|
||||
|
||||
**样例:**
|
||||
|
||||
.. code-block::
|
||||
>>> import numpy as np
|
||||
>>> import mindspore as ms
|
||||
>>> import mindspore.ops as ops
|
||||
>>> from mindspore import Tensor, set_seed, Parameter
|
||||
>>> from mindspore.common.initializer import initializer
|
||||
|
||||
>>> import numpy as np
|
||||
>>> import mindspore as ms
|
||||
>>> import mindspore.ops as ops
|
||||
>>> from mindspore import Tensor, set_seed, Parameter
|
||||
>>> from mindspore.common.initializer import initializer
|
||||
>>> # 注意:(1)请确保代码在动态图模式下运行;
|
||||
>>> # (2)由于复合级别的算子需要参数为张量类型,如以下样例,
|
||||
>>> # 当使用ops.uniform这个算子,minval和maxval用以下方法初始化:
|
||||
>>> minval = Tensor(1.0, ms.float32)
|
||||
>>> maxval = Tensor(2.0, ms.float32)
|
||||
|
||||
>>> # 注意:(1)请确保代码在动态图模式下运行;
|
||||
>>> # (2)由于复合级别的算子需要参数为张量类型,如以下样例,
|
||||
>>> # 当使用ops.uniform这个算子,minval和maxval用以下方法初始化:
|
||||
>>> minval = Tensor(1.0, ms.float32)
|
||||
>>> maxval = Tensor(2.0, ms.float32)
|
||||
|
||||
>>> # 1. 如果没有设置全局种子,numpy.random以及initializer将会选择随机种子:
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A2
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W1
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W2
|
||||
>>> # 重新运行程序将得到不同的结果:
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A3
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A4
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W3
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W4
|
||||
>>> # 1. 如果没有设置全局种子,numpy.random以及initializer将会选择随机种子:
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A2
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W1
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W2
|
||||
>>> # 重新运行程序将得到不同的结果:
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A3
|
||||
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A4
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W3
|
||||
>>> w1 = Parameter(initializer("uniform", [2, 2], ms.float32), name="w1") # W4
|
||||
|
||||
>>> # 2. 如果设置了全局种子,numpy.random以及initializer将会使用这个种子:
|
||||
>>> set_seed(1234)
|
||||
|
|
|
@ -6,7 +6,7 @@ mindspore.nn.Adagrad
|
|||
使用ApplyAdagrad算子实现Adagrad算法。
|
||||
|
||||
Adagrad用于在线学习和随机优化。
|
||||
请参阅论文`Efficient Learning using Forward-Backward Splitting <https://proceedings.neurips.cc/paper/2009/file/621bf66ddb7c962aa0d22ac97d69b793-Paper.pdf>`_。
|
||||
请参阅论文 `Efficient Learning using Forward-Backward Splitting <https://proceedings.neurips.cc/paper/2009/file/621bf66ddb7c962aa0d22ac97d69b793-Paper.pdf>`_。
|
||||
公式如下:
|
||||
|
||||
.. math::
|
||||
|
@ -15,8 +15,8 @@ mindspore.nn.Adagrad
|
|||
w_{t+1} = w_{t} - lr*\frac{1}{\sqrt{h_{t+1}}}*g
|
||||
\end{array}
|
||||
|
||||
:math:`h` 表示梯度平方的累积和,:math:`g` 表示 `grads` 。
|
||||
:math:`lr` 代表 `learning_rate`,:math:`w` 代表 `params` 。
|
||||
:math:`h` 表示梯度平方的累积和, :math:`g` 表示 `grads` 。
|
||||
:math:`lr` 代表 `learning_rate`, :math:`w` 代表 `params` 。
|
||||
|
||||
.. note::
|
||||
在参数未分组时,优化器配置的 `weight_decay` 应用于名称含有"beta"或"gamma"的网络参数,通过网络参数分组可调整权重衰减策略。分组时,每组网络参数均可配置 `weight_decay` ,若未配置,则该组网络参数使用优化器中配置的 `weight_decay` 。
|
||||
|
@ -34,14 +34,14 @@ mindspore.nn.Adagrad
|
|||
- **accum** (float) - 累加器 :math:`h` 的初始值,必须大于等于零。默认值:0.1。
|
||||
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]) - 默认值:0.001。
|
||||
|
||||
- **float** - 固定的学习率。必须大于等于零。
|
||||
- **int** - 固定的学习率。必须大于等于零。整数类型会被转换为浮点数。
|
||||
- **Tensor** - 可以是标量或一维向量。标量是固定的学习率。一维向量是动态的学习率,第i步将取向量中第i个值作为学习率。
|
||||
- **Iterable** - 动态的学习率。第i步将取迭代器第i个值作为学习率。
|
||||
- **LearningRateSchedule** - 动态的学习率。在训练过程中,优化器将使用步数(step)作为输入,调用 `LearningRateSchedule` 实例来计算当前学习率。
|
||||
- **float** - 固定的学习率。必须大于等于零。
|
||||
- **int** - 固定的学习率。必须大于等于零。整数类型会被转换为浮点数。
|
||||
- **Tensor** - 可以是标量或一维向量。标量是固定的学习率。一维向量是动态的学习率,第i步将取向量中第i个值作为学习率。
|
||||
- **Iterable** - 动态的学习率。第i步将取迭代器第i个值作为学习率。
|
||||
- **LearningRateSchedule** - 动态的学习率。在训练过程中,优化器将使用步数(step)作为输入,调用 `LearningRateSchedule` 实例来计算当前学习率。
|
||||
|
||||
- **update_slots** (bool) - 如果为True,则更新累加器 :math:`h` 。默认值:True。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果`loss_scale`是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager` ,且 `FixedLossScaleManager` 的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅class:`mindspore.FixedLossScaleManager` 。默认值:1.0。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果 `loss_scale` 是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager` ,且 `FixedLossScaleManager` 的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅 :class:`mindspore.FixedLossScaleManager` 。默认值:1.0。
|
||||
- **weight_decay** (Union[float, int]) - 要乘以权重的权重衰减值,必须大于等于0.0。默认值:0.0。
|
||||
|
||||
**输入:**
|
||||
|
|
|
@ -5,7 +5,7 @@ mindspore.nn.Adam
|
|||
|
||||
通过Adaptive Moment Estimation (Adam)算法更新梯度。
|
||||
|
||||
请参阅论文`Adam: A Method for Stochastic Optimization <https://arxiv.org/abs/1412.6980>`_。
|
||||
请参阅论文 `Adam: A Method for Stochastic Optimization <https://arxiv.org/abs/1412.6980>`_。
|
||||
|
||||
公式如下:
|
||||
|
||||
|
@ -17,7 +17,7 @@ mindspore.nn.Adam
|
|||
w_{t+1} = w_{t} - l * \frac{m_{t+1}}{\sqrt{v_{t+1}} + \epsilon}
|
||||
\end{array}
|
||||
|
||||
:math:`m` 代表第一个动量矩阵 `moment1` ,:math:`v` 代表第二个动量矩阵 `moment2` ,:math:`g` 代表 `gradients` ,:math:`l` 代表缩放因子,:math:`\beta_1,\beta_2` 代表 `beta1` 和 `beta2` ,:math:`t` 代表更新步骤,:math:`beta_1^t` 和:math:`beta_2^t` 代表 `beta1_power` 和 `beta2_power` ,:math:`\alpha` 代表 `learning_rate` ,:math:`w` 代表 `params` ,:math:`\epsilon` 代表 `eps` 。
|
||||
:math:`m` 代表第一个动量矩阵 `moment1` ,:math:`v` 代表第二个动量矩阵 `moment2` ,:math:`g` 代表 `gradients` ,:math:`l` 代表缩放因子,:math:`\beta_1,\beta_2` 代表 `beta1` 和 `beta2` ,:math:`t` 代表更新步骤,:math:`beta_1^t` 和 :math:`beta_2^t` 代表 `beta1_power` 和 `beta2_power` ,:math:`\alpha` 代表 `learning_rate` , :math:`w` 代表 `params` , :math:`\epsilon` 代表 `eps` 。
|
||||
|
||||
.. note::
|
||||
如果前向网络使用了SparseGatherV2等算子,优化器会执行稀疏运算,通过设置 `target` 为CPU,可在主机(host)上进行稀疏运算。
|
||||
|
@ -25,7 +25,6 @@ mindspore.nn.Adam
|
|||
|
||||
在参数未分组时,优化器配置的 `weight_decay` 应用于名称含有"beta"或"gamma"的网络参数,通过网络参数分组可调整权重衰减策略。分组时,每组网络参数均可配置 `weight_decay` ,若未配置,则该组网络参数使用优化器中配置的 `weight_decay` 。
|
||||
|
||||
|
||||
**参数:**
|
||||
|
||||
- **params** (Union[list[Parameter], list[dict]]) - 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params":
|
||||
|
@ -36,7 +35,7 @@ mindspore.nn.Adam
|
|||
- **grad_centralization** - 可选。如果键中存在"grad_centralization",则使用对应的值,该值必须为布尔类型。如果没有,则认为 `grad_centralization` 为False。该参数仅适用于卷积层。
|
||||
- **order_params** - 可选。对应值是预期的参数更新顺序。当使用参数分组功能时,通常使用该配置项保持 `parameters` 的顺序以提升性能。如果键中存在"order_params",则会忽略该组配置中的其他键。"order_params"中的参数必须在某一组 `params` 参数中。
|
||||
|
||||
- **learning_rate (Union[float, Tensor, Iterable, LearningRateSchedule]): 默认值:1e-3。
|
||||
- **learning_rate** (Union[float, Tensor, Iterable, LearningRateSchedule]): 默认值:1e-3。
|
||||
|
||||
- **float** - 固定的学习率。必须大于等于零。
|
||||
- **int** - 固定的学习率。必须大于等于零。整数类型会被转换为浮点数。
|
||||
|
@ -50,7 +49,7 @@ mindspore.nn.Adam
|
|||
- **use_locking** (bool) - 是否对参数更新加锁保护。如果为True,则 `w` 、`m` 和 `v` 的tensor更新将受到锁的保护。如果为False,则结果不可预测。默认值:False。
|
||||
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。如果为True,使用NAG更新梯度。如果为False,则在不使用NAG的情况下更新梯度。默认值:False。
|
||||
- **weight_decay** (float) - 权重衰减(L2 penalty)。必须大于等于0。默认值:0.0。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果 `loss_scale` 是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager` ,且 `FixedLossScaleManager` 的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅class:`mindspore.FixedLossScaleManager` 。默认值:1.0。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果 `loss_scale` 是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager` ,且 `FixedLossScaleManager` 的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅 :class:`mindspore.FixedLossScaleManager` 。默认值:1.0。
|
||||
|
||||
**输入:**
|
||||
|
||||
|
|
|
@ -20,22 +20,22 @@ mindspore.nn.Momentum
|
|||
.. math::
|
||||
p_{t+1} = p_{t} - lr \ast v_{t+1}
|
||||
|
||||
其中,:math:`grad` 、:math:`lr` 、:math:`p` 、:math:`v` 和:math:`u` 分别表示梯度、学习率、参数、矩(Moment)和动量(Momentum)。
|
||||
其中,:math:`grad` 、:math:`lr` 、:math:`p` 、:math:`v` 和 :math:`u` 分别表示梯度、学习率、参数、矩(Moment)和动量(Momentum)。
|
||||
|
||||
.. note::
|
||||
在参数未分组时,优化器配置的 `weight_decay` 应用于名称含有"beta"或"gamma"的网络参数,通过网络参数分组可调整权重衰减策略。分组时,每组网络参数均可配置 `weight_decay` ,若未配置,则该组网络参数使用优化器中配置的 `weight_decay` 。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **params (Union[list[Parameter], list[dict]]): 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params":
|
||||
- **params** (Union[list[Parameter], list[dict]]): 必须是 `Parameter` 组成的列表或字典组成的列表。当列表元素是字典时,字典的键可以是"params"、"lr"、"weight_decay"、"grad_centralization"和"order_params":
|
||||
|
||||
-** params** - 必填。当前组别的权重,该值必须是 `Parameter` 列表。
|
||||
-** lr** - 可选。如果键中存在"lr",则使用对应的值作为学习率。如果没有,则使用优化器中配置的 `learning_rate` 作为学习率。
|
||||
-** weight_decay** - 可选。如果键中存在"weight_decay”,则使用对应的值作为权重衰减值。如果没有,则使用优化器中配置的 `weight_decay` 作为权重衰减值。
|
||||
-** grad_centralization** - 可选。如果键中存在"grad_centralization",则使用对应的值,该值必须为布尔类型。如果没有,则认为 `grad_centralization` 为False。该参数仅适用于卷积层。
|
||||
-** order_params** - 可选。对应值是预期的参数更新顺序。当使用参数分组功能时,通常使用该配置项保持 `parameters` 的顺序以提升性能。如果键中存在"order_params",则会忽略该组配置中的其他键。"order_params"中的参数必须在某一组 `params` 参数中。
|
||||
- ** params** - 必填。当前组别的权重,该值必须是 `Parameter` 列表。
|
||||
- ** lr** - 可选。如果键中存在"lr",则使用对应的值作为学习率。如果没有,则使用优化器中配置的 `learning_rate` 作为学习率。
|
||||
- ** weight_decay** - 可选。如果键中存在"weight_decay”,则使用对应的值作为权重衰减值。如果没有,则使用优化器中配置的 `weight_decay` 作为权重衰减值。
|
||||
- ** grad_centralization** - 可选。如果键中存在"grad_centralization",则使用对应的值,该值必须为布尔类型。如果没有,则认为 `grad_centralization` 为False。该参数仅适用于卷积层。
|
||||
- ** order_params** - 可选。对应值是预期的参数更新顺序。当使用参数分组功能时,通常使用该配置项保持 `parameters` 的顺序以提升性能。如果键中存在"order_params",则会忽略该组配置中的其他键。"order_params"中的参数必须在某一组 `params` 参数中。
|
||||
|
||||
- **learning_rate (Union[float, int, Tensor, Iterable, LearningRateSchedule]):
|
||||
- **learning_rate** (Union[float, int, Tensor, Iterable, LearningRateSchedule]):
|
||||
|
||||
- **float** - 固定的学习率。必须大于等于零。
|
||||
- **int** - 固定的学习率。必须大于等于零。整数类型会被转换为浮点数。
|
||||
|
@ -45,7 +45,7 @@ mindspore.nn.Momentum
|
|||
|
||||
- **momentum** (float) - 浮点数类型的超参,表示移动平均的动量。必须等于或大于0.0。
|
||||
- **weight_decay** (int, float) - 权重衰减(L2 penalty)值。必须大于等于0.0。默认值:0.0。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果 `loss_scale` 是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager`,且 `FixedLossScaleManager` 的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅class:`mindspore.FixedLossScaleManager` 。默认值:1.0。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果 `loss_scale` 是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager`,且 `FixedLossScaleManager` 的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅 :class:`mindspore.FixedLossScaleManager` 。默认值:1.0。
|
||||
- **use_nesterov** (bool) - 是否使用Nesterov Accelerated Gradient (NAG)算法更新梯度。默认值:False。
|
||||
|
||||
**输入:**
|
||||
|
|
|
@ -12,7 +12,7 @@ mindspore.nn.Optimizer
|
|||
|
||||
**参数:**
|
||||
|
||||
- **learning_rate (Union[float, int, Tensor, Iterable, LearningRateSchedule]):
|
||||
- **learning_rate** (Union[float, int, Tensor, Iterable, LearningRateSchedule]):
|
||||
|
||||
- **float** - 固定的学习率。必须大于等于零。
|
||||
- **int** - 固定的学习率。必须大于等于零。整数类型会被转换为浮点数。
|
||||
|
@ -29,7 +29,7 @@ mindspore.nn.Optimizer
|
|||
- **order_params** - 可选。对应值是预期的参数更新顺序。当使用参数分组功能时,通常使用该配置项保持 `parameters` 的顺序以提升性能。如果键中存在"order_params",则会忽略该组配置中的其他键。"order_params"中的参数必须在某一组 `params` 参数中。
|
||||
|
||||
- **weight_decay** (Union[float, int]) - 权重衰减的整数或浮点值。必须等于或大于0。如果 `weight_decay` 是整数,它将被转换为浮点数。默认值:0.0。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果 `loss_scale` 是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager`,且 `FixedLossScaleManager `的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅class:`mindspore.FixedLossScaleManager`。默认值:1.0。
|
||||
- **loss_scale** (float) - 梯度缩放系数,必须大于0。如果 `loss_scale` 是整数,它将被转换为浮点数。通常使用默认值,仅当训练时使用了 `FixedLossScaleManager` ,且 `FixedLossScaleManager` 的 `drop_overflow_update` 属性配置为False时,此值需要与 `FixedLossScaleManager` 中的 `loss_scale` 相同。有关更多详细信息,请参阅 :class:`mindspore.FixedLossScaleManager`。默认值:1.0。
|
||||
|
||||
**异常:**
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ mindspore.nn.probability.bijector.Invert
|
|||
|
||||
正变换:将输入值转换为另一个分布。
|
||||
|
||||
**参数:**
|
||||
**参数:**
|
||||
|
||||
**y** (Tensor) - 输入。
|
||||
|
||||
|
|
|
@ -31,10 +31,11 @@ mindspore.nn.probability.distribution.Distribution
|
|||
|
||||
.. py:method:: construct(name, *args, **kwargs)
|
||||
|
||||
重写Cell中的`construct`。
|
||||
重写Cell中的 `construct` 。
|
||||
|
||||
.. note::
|
||||
支持的函数包括:'prob'、'log_prob'、'cdf', 'log_cdf'、'survival_function'、'log_survival'、'var'、'sd'、'mode'、'mean'、'entropy'、'kl_loss'、'cross_entropy'、'sample'、'get_dist_args'、'get_dist_type'。
|
||||
支持的函数包括:'prob'、'log_prob'、'cdf', 'log_cdf'、'survival_function'、'log_survival'、'var'、
|
||||
'sd'、'mode'、'mean'、'entropy'、'kl_loss'、'cross_entropy'、'sample'、'get_dist_args'、'get_dist_type'。
|
||||
|
||||
**参数:**
|
||||
|
||||
|
|
Loading…
Reference in New Issue