modify apiformat

This commit is contained in:
xumengjuan1 2022-01-22 14:32:07 +08:00
parent 1807f273a0
commit 6b683718ee
27 changed files with 79 additions and 239 deletions

View File

@ -375,11 +375,11 @@
- **sizes** (Union[list[int], list[float]]) - 如果指定了一列整数[s1, s2, …, sn]数据集将被拆分为n个大小为s1、s2、...、sn的数据集。如果所有输入大小的总和不等于原始数据集大小则报错。如果指定了一列浮点数[f1, f2, …, fn]则所有浮点数必须介于0和1之间并且总和必须为1否则报错。数据集将被拆分为n个大小为round(f1*K)、round(f2*K)、...、round(fn*K)的数据集其中K是原始数据集的大小。
如果round四舍五入计算后
如果round四舍五入计算后
- 任何子数据集的的大小等于0都将发生错误。
- 如果子数据集大小的总和小于KK - sigma(round(fi * k))的值将添加到第一个子数据集sigma为求和操作。
- 如果子数据集大小的总和大于Ksigma(round(fi * K)) - K的值将从第一个足够大的子数据集中删除且删除后的子数据集大小至少大于1。
- 任何子数据集的的大小等于0都将发生错误。
- 如果子数据集大小的总和小于KK - sigma(round(fi * k))的值将添加到第一个子数据集sigma为求和操作。
- 如果子数据集大小的总和大于Ksigma(round(fi * K)) - K的值将从第一个足够大的子数据集中删除且删除后的子数据集大小至少大于1。
- **randomize** (bool, 可选) - 确定是否随机拆分数据默认值True数据集将被随机拆分。否则将按顺序拆分为多个不重叠的子数据集。

View File

@ -27,6 +27,6 @@
numpy.ndarray带边界框和类别置信度的图像。
** `imshow_det_bbox` 在VOC2012数据集的使用图示:**
**imshow_det_bbox在VOC2012数据集的使用图示**
.. image:: api_img/browse_dataset.png
.. image:: browse_dataset.png

View File

@ -14,7 +14,7 @@ mindspore.dataset.audio.transforms.FrequencyMasking
- **mask_start** (int, 可选) - 添加掩码的起始位置,只有当 `iid_masks` 为True时该值才会生效。取值范围为[0, freq_length - frequency_mask_param],其中 `freq_length` 为音频波形在频域的长度默认值0。
- **mask_value** (float, 可选) - 掩码填充值默认值0.0。
.. image:: api_img/frequency_masking_original.png
.. image:: frequency_masking_original.png
.. image:: api_img/frequency_masking.png
.. image:: frequency_masking.png

View File

@ -14,6 +14,6 @@ mindspore.dataset.audio.transforms.TimeMasking
- **mask_start** (int, 可选) - 添加掩码的起始位置,只有当 `iid_masks` 为True时该值才会生效。取值范围为[0, time_length - time_mask_param],其中 `time_length` 为音频波形在时域的长度默认值0。
- **mask_value** (float, 可选) - 掩码填充值默认值0.0。
.. image:: api_img/time_masking_original.png
.. image:: time_masking_original.png
.. image:: api_img/time_masking.png
.. image:: time_masking.png

View File

@ -13,8 +13,8 @@ mindspore.dataset.audio.transforms.TimeStretch
- **n_freq** (int, 可选) - STFT中的滤波器组数默认值201。
- **fixed_rate** (float, 可选) - 频谱在时域加快或减缓的比例默认值None表示保持原始速率。
.. image:: api_img/time_stretch_rate1.5.png
.. image:: time_stretch_rate1.5.png
.. image:: api_img/time_stretch_original.png
.. image:: time_stretch_original.png
.. image:: api_img/time_stretch_rate0.8.png
.. image:: time_stretch_rate0.8.png

View File

@ -44,7 +44,7 @@ mindspore.common.initializer
生成一个服从HeKaiming均匀分布U(-boundary, boundary)的随机数组用于初始化Tensor其中
.. math::
boundary = \text{gain} \times \sqrt{\frac{3}{fan_mode}}
boundary = \text{gain} \times \sqrt{\frac{3}{fan\_mode}}
其中gain是一个可选的缩放因子。fan_mode是权重Tensor中输入或输出单元的数量取决于mode是"fan_in"或是"fan_out"。
@ -59,7 +59,7 @@ mindspore.common.initializer
生成一个服从HeKaiming正态分布N(0, sigma^2)的随机数组用于初始化Tensor其中
.. math::
sigma = \frac{gain} {\sqrt{fan_mode}}
sigma = \frac{gain} {\sqrt{fan\_mode}}
其中gain是一个可选的缩放因子。如果mode是"fan_in"则fan_mode是权重Tensor中输入单元的数量如果mode是"fan_out"
fan_mode是权重Tensor中输出单元的数量。

View File

@ -2,10 +2,10 @@ mindspore.communication
========================
集合通信接口。
注意集合通信接口需要预先设置环境变量。对于Ascend用户需要配置rank_table设置rank_id和device_id相关教程可参考
<https://www.mindspore.cn/tutorials/zh-CN/master/intermediate/distributed_training/distributed_training_ascend.html>`_。
对于GPU用户需要预先配置host_file以及mpi相关教程参考
<https://www.mindspore.cn/tutorials/zh-CN/master/intermediate/distributed_training/distributed_training_gpu.html>`_。
注意集合通信接口需要预先设置环境变量。对于Ascend用户需要配置rank_table设置rank_id和device_id相关教程可参考
`<https://www.mindspore.cn/tutorials/zh-CN/master/intermediate/distributed_training/distributed_training_ascend.html>`_
对于GPU用户需要预先配置host_file以及mpi相关教程参考
`<https://www.mindspore.cn/tutorials/zh-CN/master/intermediate/distributed_training/distributed_training_gpu.html>`_
目前尚不支持CPU。

View File

@ -17,16 +17,6 @@ mindspore.DatasetHelper
- **sink_size** (int) - 控制每个下沉中的数据量。如果 `sink_size` 为-1则下沉每个epoch的完整数据集。如果 `sink_size` 大于0则下沉每个epoch的 `sink_size` 数据。默认值:-1。
- **epoch_num** (int) - 控制待发送的epoch数据量。默认值1。
**样例:**
>>> from mindspore import DatasetHelper
>>>
>>> train_dataset = create_custom_dataset()
>>> set_helper = DatasetHelper(train_dataset, dataset_sink_mode=False)
>>> # DatasetHelper对象是可迭代的
>>> for next_element in set_helper:
... next_element
.. py:method:: continue_send()
在epoch开始时继续向设备发送数据。
@ -35,30 +25,9 @@ mindspore.DatasetHelper
返回动态数据的形状(shape)范围(最小形状(shape),最大形状(shape))。
**样例:**
>>>from mindspore import DatasetHelper
>>>
>>>train_dataset = create_custom_dataset()
>>># config dynamic shape
>>>dataset.set_dynamic_columns(columns={"data1": [16, None, 83], "data2": [None]})
>>>dataset_helper = DatasetHelper(train_dataset, dataset_sink_mode=True)
>>>
>>>min_shapes, max_shapes = dataset_helper.dynamic_min_max_shapes()
.. py:method:: get_data_info()
下沉模式下,获取当前批次数据的类型和形状(shape)。通常在数据形状(shape)动态变化的场景使用。
**样例:**
>>> from mindspore import DatasetHelper
>>>
>>> train_dataset = create_custom_dataset()
>>> dataset_helper = DatasetHelper(train_dataset, dataset_sink_mode=True)
>>>
>>> types, shapes = dataset_helper.get_data_info()
.. py:method:: release()
@ -68,16 +37,6 @@ mindspore.DatasetHelper
获取每次迭代的 `sink_size`
**样例:**
>>>from mindspore import DatasetHelper
>>>
>>>train_dataset = create_custom_dataset()
>>>dataset_helper = DatasetHelper(train_dataset, dataset_sink_mode=True, sink_size=-1)
>>>
>>># if sink_size==-1, then will return the full size of source dataset.
>>>sink_size = dataset_helper.sink_size()
.. py:method:: stop_send()
停止发送数据下沉数据。
@ -85,12 +44,3 @@ mindspore.DatasetHelper
.. py:method:: types_shapes()
从当前配置中的数据集获取类型和形状(shape)。
**样例:**
>>>from mindspore import DatasetHelper
>>>
>>>train_dataset = create_custom_dataset()
>>>dataset_helper = DatasetHelper(train_dataset, dataset_sink_mode=True)
>>>
>>>types, shapes = dataset_helper.types_shapes()

View File

@ -10,22 +10,6 @@ mindspore.FixedLossScaleManager
- **loss_scale** (float) - 梯度放大系数。注:如果将 `drop_overflow_update` 设为False则定义优化器时需要将优化器的 `loss_scale` 设为相同的值。默认值128.0。
- **drop_overflow_update** (bool) - 出现溢出时是否执行优化器。如果值为True则出现溢出时不会执行优化器。默认值True。
**样例:**
>>> from mindspore import Model, nn, FixedLossScaleManager
>>>
>>> net = Net()
>>> # 1) 如果存在溢出,则不执行参数更新
>>> loss_scale_manager = FixedLossScaleManager()
>>> optim = nn.Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9)
>>> model = Model(net, loss_scale_manager=loss_scale_manager, optimizer=optim)
>>>
>>> # 2) 即使发生溢出,也执行参数更新
>>> loss_scale = 1024.0
>>> loss_scale_manager = FixedLossScaleManager(loss_scale, False)
>>> optim = nn.Momentum(params=net.trainable_params(), learning_rate=0.1, momentum=0.9, loss_scale=loss_scale)
>>> model = Model(net, loss_scale_manager=loss_scale_manager, optimizer=optim)
.. py:method:: get_drop_overflow_update()
返回 `drop_overflow_update` ,该值表示是否在发生溢出时放弃本轮参数更新。

View File

@ -101,7 +101,7 @@
`AUTO_PARALLEL``SEMI_AUTO_PARALLEL` 模式下为训练网络生成参数layout当前仅支持在数据下沉模式下使用。
.. warning:: 这是一个实验性的原型,可能会被改变和/或删除。
.. warning:: 这是一个实验性的原型,可能会被改变或删除。
.. note:: 这是一个预编译函数。参数必须与Model.train()函数相同。
@ -143,7 +143,11 @@
使用PYNATIVE_MODE模式或CPU处理器时模型训练流程将以非下沉模式执行。
.. note::
如果 `dataset_sink_mode` 配置为True数据将被送到处理器中。如果处理器是Ascend数据特征将被逐一传输每次数据传输的上限是256M。如果 `dataset_sink_mode` 配置为True仅在每个epoch结束时调用Callback实例的step_end方法。如果 `dataset_sink_mode` 配置为True数据集仅能在当前模型中使用。如果 `sink_size` 大于零每次epoch可以无限次遍历数据集直到遍历数据量等于 `sink_size` 为止。每次epoch将从上一次遍历的最后位置继续开始遍历。该接口会构建并执行计算图如果使用前先执行了 `Model.build` ,那么它会直接执行计算图而不构建。
- 如果 `dataset_sink_mode` 配置为True数据将被送到处理器中。如果处理器是Ascend数据特征将被逐一传输每次数据传输的上限是256M。
- 如果 `dataset_sink_mode` 配置为True仅在每个epoch结束时调用Callback实例的step_end方法。
- 如果 `dataset_sink_mode` 配置为True数据集仅能在当前模型中使用。
- 如果 `sink_size` 大于零每次epoch可以无限次遍历数据集直到遍历数据量等于 `sink_size` 为止。
- 每次epoch将从上一次遍历的最后位置继续开始遍历。该接口会构建并执行计算图如果使用前先执行了 `Model.build` ,那么它会直接执行计算图而不构建。
**参数:**

View File

@ -6,7 +6,10 @@
`Parameter``Tensor` 的子类当它们被绑定为Cell的属性时会自动添加到其参数列表中并且可以通过Cell的某些方法获取例如 `cell.get_parameters()`
.. note::
在"semi_auto_parallel"和"auto_parallel"的并行模式下,如果使用 `Initializer` 模块初始化参数,参数的类型将为 `Tensor` :class:`mindspore.ops.AllGather` `Tensor` 仅保存张量的形状和类型信息,而不占用内存来保存实际数据。并行场景下存在参数的形状发生变化的情况,用户可以调用 `Parameter``init_data` 方法得到原始数据。如果网络中存在需要部分输入为 `Parameter` 的算子,则不允许这部分输入的 `Parameter` 进行转换。如果在 `Cell` 里初始化一个 `Parameter` 作为 `Cell` 的属性时建议使用默认值None否则 `Parameter``name` 可能与预期不一致。
- 在"semi_auto_parallel"和"auto_parallel"的并行模式下,如果使用 `Initializer` 模块初始化参数,参数的类型将为 `Tensor` :class:`mindspore.ops.AllGather``Tensor` 仅保存张量的形状和类型信息,而不占用内存来保存实际数据。
- 并行场景下存在参数的形状发生变化的情况,用户可以调用 `Parameter``init_data` 方法得到原始数据。
- 如果网络中存在需要部分输入为 `Parameter` 的算子,则不允许这部分输入的 `Parameter` 进行转换。
- 如果在 `Cell` 里初始化一个 `Parameter` 作为 `Cell` 的属性时建议使用默认值None否则 `Parameter``name` 可能与预期不一致。
**参数:**

View File

@ -22,17 +22,3 @@ mindspore.connect_network_with_dataset
**异常:**
- **RuntimeError** - 如果该接口在非数据下沉模式调用。
**支持平台:**
``Ascend`` ``GPU``
**样例:**
>>> from mindspore import DatasetHelper
>>>
>>> # 调用create_dataset函数创建一个通用的数据集参考mindpore.dataset
>>> train_dataset = create_custom_dataset()
>>> dataset_helper = DatasetHelper(train_dataset, dataset_sink_mode=True)
>>> net = Net()
>>> net_with_get_next = connect_network_with_dataset(net, dataset_helper)

View File

@ -11,6 +11,7 @@ mindspore.load
- **file_name** (str) MindIR文件的全路径名。
- **kwargs** (dict) 配置项字典。
- **dec_key** (bytes) - 用于解密的字节类型密钥。 有效长度为 16、24 或 32。
- **dec_mode** (str) - 指定解密模式设置dec_key时生效。可选项'AES-GCM' | 'AES-CBC'。 默认值:"AES-GCM"。

View File

@ -15,17 +15,5 @@ mindspore.parse_print
**异常:**
**ValueError** 指定的文件不存在或为空。
**RuntimeError** - 解析文件失败。
>>> x = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]).astype(np.float32)
>>> input_pra = Tensor(x)
>>> net = PrintInputTensor()
>>> net(input_pra)
>>> import mindspore
>>> data = mindspore.parse_print('./log.data')
>>> print(data)
['print:', Tensor(shape=[2, 4], dtype=Float32, value=
[[ 1.00000000e+00, 2.00000000e+00, 3.00000000e+00, 4.00000000e+00],
[ 5.00000000e+00, 6.00000000e+00, 7.00000000e+00, 8.00000000e+00]])]
- **ValueError** 指定的文件不存在或为空。
- **RuntimeError** - 解析文件失败。

View File

@ -18,88 +18,3 @@ mindspore.set_seed
- **ValueError** 种子值非法 (小于0)。
- **TypeError** 种子值非整型数。
**样例:**
>>> 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. 如果没有设置全局种子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)
>>> 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
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> 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
...
>>> # 3. 如果全局种子或者算子种子均未设置mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将会选择一个随机种子
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
>>> # 重新运行程序将得到不同的结果:
>>> c1 = ops.uniform((1, 4), minval, maxval) # C3
>>> c2 = ops.uniform((1, 4), minval, maxval) # C4
...
>>> # 4. 如果设置了全局种子但未设置算子种子mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将会根据全局种子及默认算子种子计算出一个种子。
>>> # 每次调用默认算子种子都会改变,因此每次调用会得到不同的结果。
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval) # C2
...
>>> # 5. 如果设置了全局种子以及算子种子mindspore.ops.composite.random_ops以及
>>> # mindspore.nn.probability.distribution将根据全局种子及算子种子计数器计算出一个种子。
>>> # 每次调用将会更改算子种子计数器, 因此每次调用会得到不同的结果。
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 重新运行程序将得到相同的结果:
>>> set_seed(1234)
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
...
>>> # 6. 如果算子种子设置了但是全局种子没有设置0将作为全局种子那么
>>> # mindspore.ops.composite.random_ops以及mindspore.nn.probability.distribution运行方式同5。
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
>>> # 重新运行程序将得到相同的结果:
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # C2
...
>>> # 7. 在程序中重新调用set_seed()将会重置mindspore.ops.composite.random_ops
>>> # 和mindspore.nn.probability.distribution的numpy种子以及算子种子计数器。
>>> set_seed(1234)
>>> np_1 = np.random.normal(0, 1, [1]).astype(np.float32) # A1
>>> c1 = ops.uniform((1, 4), minval, maxval, seed=2) # C1
>>> set_seed(1234)
>>> np_2 = np.random.normal(0, 1, [1]).astype(np.float32) # still get A1
>>> c2 = ops.uniform((1, 4), minval, maxval, seed=2) # still get C1

View File

@ -35,5 +35,5 @@ mindspore.nn.MSELoss
**异常:**
**ValueError** - `reduction` 不为"mean""sum",或"none"。
**ValueError** - `logits``labels` 的shape不同且不能广播。
- **ValueError** - `reduction` 不为"mean""sum",或"none"。
- **ValueError** - `logits``labels` 的shape不同且不能广播。

View File

@ -112,4 +112,6 @@ mindspore.nn.Optimizer
tuple[Tensor],还原后的梯度。
.. include:: mindspore.nn.optim_target_unique_for_sparse.rst
.. include:: mindspore.nn.optim_target_unique_for_sparse.rst
.. include:: mindspore.nn.optim_target_unique_for_sparse.b.rst

View File

@ -17,7 +17,9 @@ mindspore.nn.SmoothL1Loss
其中,:math:`{\beta}` 代表阈值 `beta`
.. note::
SmoothL1Loss可以看成 :class:`mindspore.nn.L1Loss` 的修改版本,也可以看成 :class:`mindspore.nn.L1Loss`:class:`mindspore.ops.L2Loss` 的组合。 :class:`mindspore.nn.L1Loss` 计算两个输入Tensor之间的绝对误差:class:`mindspore.ops.L2Loss` 计算两个输入Tensor之间的平方误差。 :class:`mindspore.ops.L2Loss` 通常更快收敛,但对离群值的鲁棒性较差。该损失函数具有较好的鲁棒性。
- SmoothL1Loss可以看成 :class:`mindspore.nn.L1Loss` 的修改版本,也可以看成 :class:`mindspore.nn.L1Loss`:class:`mindspore.ops.L2Loss` 的组合。
- :class:`mindspore.nn.L1Loss` 计算两个输入Tensor之间的绝对误差:class:`mindspore.ops.L2Loss` 计算两个输入Tensor之间的平方误差。
- :class:`mindspore.ops.L2Loss` 通常更快收敛,但对离群值的鲁棒性较差。该损失函数具有较好的鲁棒性。
**参数:**

View File

@ -20,18 +20,3 @@ mindspore.nn.Vjp
- **net_output** (Tensor or Tuple of Tensor) - 输入网络的正向计算结果。
- **vjp** (Tensor or Tuple of Tensor) - 向量雅可比积的结果。
**支持平台:**
``Ascend`` ``GPU`` ``CPU``
**样例:**
>>> from mindspore.nn import Vjp
>>> class Net(nn.Cell):
... def construct(self, x, y):
... return x**3 + y
>>> x = Tensor(np.array([[1, 2], [3, 4]]).astype(np.float32))
>>> y = Tensor(np.array([[1, 2], [3, 4]]).astype(np.float32))
>>> v = Tensor(np.array([[1, 1], [1, 1]]).astype(np.float32))
>>> output = Vjp(Net())(x, y, v)

View File

@ -26,11 +26,11 @@ mindspore.nn.WithLossCell
**TypeError**`data``label` 的数据类型既不是float16也不是float32。
.. py:method:: backbone_network
:property:
获取骨干网络。
**返回:**
Cell骨干网络。
.. py:method:: backbone_network
:property:
获取骨干网络。
**返回:**
Cell骨干网络。

View File

@ -13,7 +13,7 @@ mindspore.nn.cosine_decay_lr
其中 :math:`current\_epoch=floor(\frac{i}{step\_per\_epoch})`
**参数:**
**参数:**
- **min_lr** (float) - 学习率的最小值。
- **max_lr** (float) - 学习率的最大值。
@ -21,7 +21,7 @@ mindspore.nn.cosine_decay_lr
- **step_per_epoch** (int) - 每个epoch的step数。
- **decay_epoch** (int) - 进行衰减的epoch数。
**返回:**
**返回:**
list[float]。列表大小为 `total_step`

View File

@ -1 +1,5 @@
优化器和混合精度之间通常没有联系。但是,当使用 `FixedLossScaleManager` 且 `FixedLossScaleManager` 中的 `drop_overflow_update` 设置为False时优化器需要设置'loss_scale'。由于此优化器没有 `loss_scale` 的参数,因此需要通过其他方式处理 `loss_scale` ,如何正确处理 `loss_scale` 详见 `LossScale <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/lossscale.html>`_
优化器和混合精度之间通常没有联系。但是,当使用 `FixedLossScaleManager``FixedLossScaleManager` 中的 `drop_overflow_update` 设置为False时优化器需要设置'loss_scale'。
由于此优化器没有 `loss_scale` 的参数,因此需要通过其他方式处理 `loss_scale`
如何正确处理 `loss_scale` 详见 `LossScale <https://www.mindspore.cn/docs/programming_guide/zh-CN/master/lossscale.html>`_

View File

@ -1 +1,5 @@
在参数未分组时,优化器配置的 `weight_decay` 应用于名称不含"beta"或"gamma"的网络参数,参数分组情况下,可以分组调整权重衰减策略。分组时,每组网络参数均可配置 `weight_decay` ,若未配置,则该组网络参数使用优化器中配置的 `weight_decay`
在参数未分组时,优化器配置的 `weight_decay` 应用于名称不含"beta"或"gamma"的网络参数。
参数分组情况下,可以分组调整权重衰减策略。
分组时,每组网络参数均可配置 `weight_decay` ,若未配置,则该组网络参数使用优化器中配置的 `weight_decay`

View File

@ -0,0 +1,4 @@
.. py:method:: unique
:property:
该属性表示是否在优化器中进行梯度去重通常用于稀疏网络。如果梯度是稀疏的则设置为True。如果前向稀疏网络已对权重去重即梯度是稠密的则设置为False。未进行任何配置时默认为True。

View File

@ -2,8 +2,3 @@
:property:
该属性用于指定在主机host上还是设备device上更新参数。输入类型为str只能是'CPU''Ascend'或'GPU'。
.. py:method:: unique
:property:
该属性表示是否在优化器中进行梯度去重通常用于稀疏网络。如果梯度是稀疏的则设置为True。如果前向稀疏网络已对权重去重即梯度是稠密的则设置为False。未进行任何配置时默认为True。

View File

@ -14,7 +14,17 @@ mindspore.nn.probability.bijector.Bijector
- **param** (dict) - 用于初始化Bijector的参数。默认值None。
.. note::
Bijector的 `dtype` 为None时输入值必须是float类型除此之外没有其他强制要求。在初始化过程中`dtype` 为None时对参数的数据类型没有强制要求。但所有参数都应具有相同的float类型否则将引发TypeError。具体来说参数类型跟随输入值的数据类型即当 `dtype` 为None时Bijector的参数将被强制转换为与输入值相同的类型。当指定了 `dtype` 时,参数和输入值的 `dtype` 必须相同。当参数类型或输入值类型与 `dtype` 不相同时将引发TypeError。只能使用mindspore的float数据类型来指定Bijector的 `dtype`
Bijector的 `dtype` 为None时输入值必须是float类型除此之外没有其他强制要求。
在初始化过程中,当 `dtype` 为None时对参数的数据类型没有强制要求。
但所有参数都应具有相同的float类型否则将引发TypeError。
具体来说,参数类型跟随输入值的数据类型,即当 `dtype` 为None时Bijector的参数将被强制转换为与输入值相同的类型。
当指定了 `dtype` 时,参数和输入值的 `dtype` 必须相同。
当参数类型或输入值类型与 `dtype` 不相同时将引发TypeError。只能使用mindspore的float数据类型来指定Bijector的 `dtype`
.. py:method:: cast_param_by_value(value, para)

View File

@ -16,7 +16,10 @@ mindspore.nn.probability.bijector.GumbelCDF
- **name** (str) - Bijector名称。默认值'GumbelCDF'。
.. note::
`scale` 中元素必须大于零。对于 `inverse``inverse_log_jacobian` ,输入应在(0, 1)范围内。`loc``scale` 中元素的数据类型必须为float。如果 `loc``scale` 作为numpy.ndarray或Tensor传入则它们必须具有相同的数据类型否则将引发错误。
- `scale` 中元素必须大于零。
- 对于 `inverse``inverse_log_jacobian` ,输入应在(0, 1)范围内。
- `loc``scale` 中元素的数据类型必须为float。
- 如果 `loc``scale` 作为numpy.ndarray或Tensor传入则它们必须具有相同的数据类型否则将引发错误。
**异常:**