!33572 optimizes the documentation of chinese API of CentralCrop,CosineEmbeddingLoss,ImageGradients,etc
Merge pull request !33572 from zhangfanghe/code_docs_master_426
This commit is contained in:
commit
36e3f0a077
|
@ -0,0 +1,23 @@
|
|||
mindspore.nn.CentralCrop
|
||||
=========================
|
||||
|
||||
.. py:class:: mindspore.nn.CentralCrop(central_fraction)
|
||||
|
||||
根据指定比例裁剪出图像的中心区域。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **central_fraction** (float) - 裁剪比例,必须是float,并且在范围(0.0, 1.0]内。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **image** (Tensor) - shape为 :math:`(C, H, W)` 的三维Tensor,或shape为 :math:`(N,C,H,W)` 的四维Tensor。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,基于输入的三维或四维的float Tensor。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `central_fraction` 不是float。
|
||||
- **ValueError** - `central_fraction` 不在范围(0.0, 1.0]内。
|
|
@ -0,0 +1,37 @@
|
|||
mindspore.nn.CosineEmbeddingLoss
|
||||
=================================
|
||||
|
||||
.. py:class:: mindspore.nn.CosineEmbeddingLoss(margin=0.0, reduction='mean')
|
||||
|
||||
余弦相似度损失函数,用于测量两个Tensor之间的相似性。
|
||||
|
||||
给定两个Tensor :math:`x1` 和 :math:`x2` ,以及一个Tensor标签 :math:`y` ,值为1或-1,公式如下:
|
||||
|
||||
.. math::
|
||||
loss(x_1, x_2, y) = \begin{cases}
|
||||
1-cos(x_1, x_2), & \text{if } y = 1\\
|
||||
max(0, cos(x_1, x_2)-margin), & \text{if } y = -1\\
|
||||
\end{cases}
|
||||
|
||||
**参数:**
|
||||
|
||||
- **margin** (float) - 指定运算的调节因子,取值范围[-1.0, 1.0]。默认值:0.0。
|
||||
- **reduction** (str) - 指定输出结果的计算方式。可选值为"none"、"mean"或"sum",分别表示不指定计算方式、使用均值计算和使用求和计算。默认值:"mean"。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **logits_x1** (Tensor)- CosineEmbeddingLoss的输入,任意维度的Tensor。
|
||||
- **logits_x2** (Tensor) - shape和数据类型与 `logits_x1` 相同。
|
||||
- **labels** (Tensor) - 输入值为1或-1。假设 `logits_x1` 的shape是 :math:`(x_1, x_2, x_3, ..., x_R)` ,那么 `labels` 的shape必须是 :math:`(x_1, x_3, x_4, ..., x_R)` 。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor或Scalar,如果 `reduction` 为"none",其shape与 `labels` 相同。否则,将返回为Scalar。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `margin` 不是float。
|
||||
- **ValueError** - `reduction` 不为"none"、"mean"或"sum"。
|
||||
- **ValueError** - `margin` 的值不在范围[-1.0, 1.0]内。
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
mindspore.nn.ImageGradients
|
||||
============================
|
||||
|
||||
.. py:class:: mindspore.nn.ImageGradients
|
||||
|
||||
计算每个颜色通道的图像渐变,返回为两个Tensor,分别表示高和宽方向上的变化率。
|
||||
|
||||
假设图像shape为 :math:`h*w` ,则沿高和宽的梯度分别为 :math:`dy` 和 :math:`dx` 。
|
||||
|
||||
.. math::
|
||||
dy[i] = \begin{cases} image[i+1, :]-image[i, :], &if\ 0<=i<h-1 \cr
|
||||
0, &if\ i==h-1\end{cases}
|
||||
|
||||
dx[i] = \begin{cases} image[:, i+1]-image[:, i], &if\ 0<=i<w-1 \cr
|
||||
0, &if\ i==w-1\end{cases}
|
||||
|
||||
**输入:**
|
||||
|
||||
- **images** (Tensor) - 输入图像数据,格式为'NCHW'。
|
||||
|
||||
**输出:**
|
||||
|
||||
- **dy** (Tensor) - 垂直方向的图像梯度,数据类型和shape与输入相同。
|
||||
- **dx** (Tensor) - 水平方向的图像梯度,数据类型和shape与输入相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **ValueError** - `images` 的shape长度不等于4。
|
|
@ -0,0 +1,20 @@
|
|||
mindspore.nn.MatrixDiag
|
||||
========================
|
||||
|
||||
.. py:class:: mindspore.nn.MatrixDiag
|
||||
|
||||
根据对角线值返回一批对角矩阵。
|
||||
|
||||
假设 `x` 有 :math:`k` 个维度 :math:`[I, J, K, ..., N]` ,则输出秩为 :math:`k+1` 且维度为 :math:`[I, J, K, ..., N, N]` 的Tensor,其中: :math:`output[i, j, k, ..., m, n] = 1\{m=n\} * x[i, j, k, ..., n]` 。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **x** (Tensor) - 输入任意维度的对角线值。支持的数据类型包括:float32、float16、int32、int8和uint8。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape与输入 `x` 相同。Shape必须为 :math:`x.shape + (x.shape[-1], )` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `x` 的数据类型不是float32、float16、int32、int8或uint8。
|
|
@ -0,0 +1,20 @@
|
|||
mindspore.nn.MatrixDiagPart
|
||||
============================
|
||||
|
||||
.. py:class:: mindspore.nn.MatrixDiagPart
|
||||
|
||||
返回批对角矩阵的对角线部分。
|
||||
|
||||
假设 `x` 有 :math:`k` 个维度 :math:`[I, J, K, ..., M, N]` ,则输出秩为 :math:`k-1` 且维度为 :math:`[I, J, K, ..., min(M, N)]` 的Tensor,其中: :math:`output[i, j, k, ..., n] = x[i, j, k, ..., n, n]` 。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **x** (Tensor) - 输入具有批对角的Tensor。支持的数据类型包括:float32、float16、int32、int8和uint8。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape与输入`x`相同。shape必须为 :math:`x.shape[:-2]+[min(x.shape[-2:])]` 。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `x` 的数据类型不是float32、float16、int32、int8或uint8。
|
|
@ -0,0 +1,31 @@
|
|||
mindspore.nn.MatrixSetDiag
|
||||
===========================
|
||||
|
||||
.. py:class:: mindspore.nn.MatrixSetDiag
|
||||
|
||||
将输入的对角矩阵的对角线值置换为输入的对角线值。
|
||||
|
||||
假设 `x` 有 :math:`k+1` 个维度 :math:`[I,J,K,...,M,N]' , `diagonal` 有 :math:`k` 个维度 :math:`[I, J, K, ..., min(M, N)]` ,则输出秩为 :math:`k+1` ,维度为 :math:`[I, J, K, ..., M, N]` 的Tensor,其中:
|
||||
|
||||
.. math::
|
||||
output[i, j, k, ..., m, n] = diagnoal[i, j, k, ..., n]\ for\ m == n
|
||||
|
||||
.. math::
|
||||
output[i, j, k, ..., m, n] = x[i, j, k, ..., m, n]\ for\ m != n
|
||||
|
||||
**输入:**
|
||||
|
||||
- **x** (Tensor) - 输入的对角矩阵。秩为k+1,k大于等于1。支持如下数据类型:float32、float16、int32、int8和uint8。
|
||||
- **diagonal** (Tensor) - 输入的对角线值。必须与输入 `x` 的shape相同。秩为k,k大于等于1。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape和数据类型与输入 `x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `x` 或 `diagonal` 的数据类型不是float32、float16、int32、int8或uint8。
|
||||
- **ValueError** - `x` 的shape长度小于2。
|
||||
- **ValueError** - :math:`x_shape[-2] < x_shape[-1]` 且 :math:`x_shape[:-1] != diagonal_shape` 。
|
||||
- **ValueError** - :math:`x_shape[-2] >= x_shape[-1]` 且 :math:`x_shape[:-2] + x_shape[-1:] != diagonal_shape` 。
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
mindspore.nn.MultiClassDiceLoss
|
||||
================================
|
||||
|
||||
.. py:class:: mindspore.nn.MultiClassDiceLoss(weights=None, ignore_indiex=None, activation='softmax')
|
||||
|
||||
当有多个分类时,标签通过one-hot编码转换为多个二分类。每个通道切面,可以看做是一个二分类问题,所以多分类DiceLoss损失函数,可以通过计算每个类别的二分类的 :class:`mindspore.nn.DiceLoss` 损失,最后再求平均值得到。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **weights** (Union[Tensor, None]) - Shape为 :math:`(num\_classes, dim)` 的Tensor。权重shape[0]应等于标签shape[1]。 默认值:None。
|
||||
- **ignore_indiex** (Union[int, None]) - 指定需要忽略的类别序号,如果为None,计算所有类别的Dice Loss值。默认值:None。
|
||||
- **activation** (Union[str, Cell]) - 应用于全连接层输出的激活函数,如'ReLU'。取值范围:['softmax', 'logsoftmax', 'relu', 'relu6', 'tanh', 'Sigmoid']。默认值:'softmax'。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **logits** (Tensor) - shape为 :math:`(N, C, *)` 的Tensor,其中 :math:`*` 表示任意数量的附加维度。logits维度应大于1。数据类型必须为float16或float32。
|
||||
-- **labels** (Tensor) - shape为 :math:`(N, C, *)` 的Tensor,与 `logits` 的shape相同。标签维度应大于1。数据类型必须为float16或float32。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,输出为每个样本采样通过MultiClassDiceLoss函数计算所得。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **ValueError** - `logits` 与 `labels` 的shape不同。
|
||||
- **TypeError** - `logits` 或 `labels` 的类型不是Tensor。
|
||||
- **ValueError** - `logits` 或 `labels` 的维度小于2。
|
||||
- **ValueError** - `weights` 的shape[0]和 `labels` 的shape[1]不相等。
|
||||
- **ValueError** - `weights`是Tensor,但其维度不是2。
|
|
@ -0,0 +1,47 @@
|
|||
mindspore.nn.MultiFieldEmbeddingLookup
|
||||
========================================
|
||||
|
||||
.. py:class:: mindspore.nn.MultiFieldEmbeddingLookup(vocab_size, embedding_size, field_size, param_init='normal', target='CPU', slice_mode='batch_slice', feature_num_list=None, max_norm=None, sparse=True, operator='SUM')
|
||||
|
||||
根据指定的索引和字段ID,返回输入Tensor的切片。此操作支持同时使用multi hot和one hot查找嵌入。
|
||||
|
||||
.. note::
|
||||
当'target'设置为'CPU'时,此模块将使用P.EmbeddingLookup().add_prim_attr('primitive_target', 'CPU')指定'offset = 0'的查找表。
|
||||
|
||||
当'target'设置为'DEVICE'时,此模块将使用P.Gather()指定'axis = 0'的查找表。
|
||||
|
||||
具有相同 `field_ids` 的向量将由'operator'组合,例如'SUM'、'MAX'和'MEAN'。确保填充ID的 `input_values` 为零,以便忽略它们。如果字段绝对权重之和为零,最终输出将为零。该类仅支持['table_row_slice', 'batch_slice', 'table_column_slice']。对于Ascend设备上的'MAX'操作,存在 :math:`batch_size * (seq_length + field_size) < 3500` 的约束。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **vocab_size** (int) - 嵌入词典的大小。
|
||||
- **embedding_size** (int) - 每个嵌入向量的大小。
|
||||
- **field_size** (int) - 最终输出的字段大小。
|
||||
- **param_init** (Union[Tensor, str, Initializer, numbers.Number]) - 嵌入Tensor的初始化方法。当指定字符串时,请参见 `Initializer` 类了解字符串的值。默认值:'normal'。
|
||||
- **target** (str) - 指指定执行操作的'target'。该值必须在['Ascend', 'CPU']中。默认值:'CPU'。
|
||||
- **slice_mode** (str) - semi_auto_parallel或auto_parallel模式下的切片方式。该值必须通过nn.EmbeddingLookup获得。默认值:nn.EmbeddingLookup.BATCH_SLICE。
|
||||
- **feature_num_list** (tuple) - 字段切片模式下的伴随数组(accompaniment array)。目前该参数的功能还未实现。默认值:None。
|
||||
- **max_norm** (Union[float, None]) - 最大剪切值。数据类型必须为float16、float32或None。默认值:None。
|
||||
- **sparse** (bool) - 使用稀疏模式。当'target'设置为'CPU'时,'sparse'必须为true。默认值:True。
|
||||
- **operator** (str) - 字段特征的池化方法。支持'SUM'、'MEAN'和'MAX'。默认值:'SUM'。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **input_indices**(Tensor) - 指定输入Tensor元素的索引,其shape为 :math:`(batch\_size, seq\_length)` 。数据类型为int32、int64。
|
||||
- **input_values**(Tensor) - 指定 `input_indices` 元素的权重。将检索出的向量乘以 `input_values` 。其shape为 :math:`(batch\_size, seq\_length)` 。类型为float32。
|
||||
- **field_ids**(Tensor)- 指定 `input_indices` 元素的字段ID,其shape为 :math:`(batch\_size, seq\_length)` 。类型为int32。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape为 :math:`(batch\_size, field\_size, embedding\_size)` 。类型为float32。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `vocab_size` 、 `embedding_size` 或 `field_size` 不是int。
|
||||
- **TypeError** - `sparse` 不是bool或 `feature_num_list` 不是tuple。
|
||||
- **ValueError** - `vocab_size` 、 `embedding_size` 或 `field_size` 小于1。
|
||||
- **ValueError** - `target` 既不是'CPU'也不是'Ascend'。
|
||||
- **ValueError** - `slice_mode` 不是'batch_slice'、'field_slice'、'table_row_slice'或'table_column_slice'。
|
||||
- **ValueError** - `sparse` 为False, `target` 为'CPU'。
|
||||
- **ValueError** - `slice_mode` 为'field_slice', `feature_num_list` 为None。
|
||||
- **ValueError** - `operator` 不是'SUM'、'MAX'或'MEAN'。
|
|
@ -0,0 +1,27 @@
|
|||
mindspore.nn.Norm
|
||||
==================
|
||||
|
||||
.. py:class:: mindspore.nn.Norm(axis=(), keep_dims=False)
|
||||
|
||||
计算向量的范数,目前包括欧几里得范数,即 :math:`L_2`-norm。
|
||||
|
||||
.. math::
|
||||
norm(x) = \sqrt{\sum_{i=1}^{n} (x_i^2)}
|
||||
|
||||
**参数:**
|
||||
|
||||
- **axis** (Union[tuple, int]) - 指定计算向量范数的轴。默认值:()。
|
||||
- **keep_dims** (bool) - 如果为True,则 `axis` 中指定轴的维度大小为1。否则,`axis` 的维度将从输出shape中删除。默认值:False。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **x** (Tensor) - 输入任意维度Tensor,不为空。数据类型应为float16或float32。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,输出为Tensor,如果'keep_dims'为True,则将保留'axis'指定的维度且为1;否则,将移除'axis'中指定的维度。数据类型与 `x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `axis` 既不是int也不是tuple。
|
||||
- **TypeError** - `keep_dims` 不是bool。
|
|
@ -0,0 +1,31 @@
|
|||
mindspore.nn.PSNR
|
||||
==================
|
||||
|
||||
.. py:class:: mindspore.nn.PSNR(max_val=1.0)
|
||||
|
||||
在批处理中计算两个图像的峰值信噪比(PSNR)。
|
||||
|
||||
它为批处理中的每个图像生成PSNR值。假设输入为 :math:`I` 和 :math:`K` ,且shape都为 :math:`h*w` 。 :math:`MAX` 表示像素值的动态范围。
|
||||
|
||||
.. math::
|
||||
MSE&=\frac{1}{hw}\sum\limits_{i=0}^{h-1}\sum\limits_{j=0}^{w-1}[I(i,j)-K(i,j)]^2\\
|
||||
PSNR&=10*log_{10}(\frac{MAX^2}{MSE})
|
||||
|
||||
**参数:**
|
||||
|
||||
- **max_val** (Union[int, float]) - 像素的动态范围(8位灰度图像为255)。该值必须大于0。默认值:1.0。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **img1** (Tensor) - 格式为'NCHW'的第一批图像。shape和数据类型必须与 `img2` 相同。
|
||||
- **img2** (Tensor) - 格式为'NCHW'的第二批图像。shape和数据类型必须与 `img1` 相同。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,使用数据类型mindspore.float32。shape为N的一维Tensor,其中N是 `img1` 的批次大小。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `max_val` 既不是int也不是float。
|
||||
- **ValueError** - `max_val` 小于或等于0。
|
||||
- **ValueError** - `img1` 或 `img2` 的shape长度不等于4。
|
|
@ -0,0 +1,21 @@
|
|||
mindspore.nn.Range
|
||||
===================
|
||||
|
||||
.. py:class:: mindspore.nn.Range(start, limit=None, delta=1)
|
||||
|
||||
根据指定步长在范围[start, limit)中创建数字序列。
|
||||
|
||||
输出的数据长度为 :math:`\left \lfloor \frac{limit-start}{delta} \right \rfloor + 1` 并且 `delta` 是Tensor中两个值之间的间隔。
|
||||
|
||||
.. math::
|
||||
out_{i+1} = out_{i} + delta
|
||||
|
||||
**参数:**
|
||||
|
||||
- **start** (Union[int, float]) - 如果 `limit` 为None,则该值在范围内充当结束,0为起始。否则, `start` 将充当范围中的起始。
|
||||
- **limit** (Union[int, float]) - 序列的上限。如果为None,则默认为 `start` 的值,同时将范围内的0作为起始。它不能等于 `start` 。默认值:None。
|
||||
- **delta** (Union[int, float]) - 指定步长。不能等于零。默认值:1。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,如果 `start` 、 `limit` 和 `delta` 的数据类型都是int,则数据类型为int。否则,数据类型为float。
|
|
@ -0,0 +1,30 @@
|
|||
mindspore.nn.Roll
|
||||
=================
|
||||
|
||||
.. py:class:: mindspore.nn.Roll(shift, axis)
|
||||
|
||||
沿轴移动Tensor的元素。
|
||||
|
||||
元素沿着 `axis` 维度按照 `shift` 偏移(朝着较大的索引)正向移动。 `shift` 为负值则使元素向相反方向移动。移动最后位置的元素将绕到第一个位置,反之亦然。可以指定沿多个轴的多个偏移。
|
||||
|
||||
**参数:**
|
||||
|
||||
- **shift** (Union[list(int), tuple(int), int]) - 指定元素移动方式,如果为整数,则元素沿指定维度正向移动(朝向较大的索引)的位置数。负偏移将向相反的方向滚动元素。
|
||||
- **axis** (Union[list(int), tuple(int), int]) - 指定需移动维度的轴。
|
||||
|
||||
**输入:**
|
||||
|
||||
- **input_x** (Tensor) - 输入Tensor。
|
||||
|
||||
**输出:**
|
||||
|
||||
Tensor,shape和数据类型与输入的 `input_x` 相同。
|
||||
|
||||
**异常:**
|
||||
|
||||
- **TypeError** - `shift` 不是int、tuple或list。
|
||||
- **TypeError** - `axis` 不是int、tuple或list。
|
||||
- **TypeError** - `shift` 的元素不是int。
|
||||
- **TypeError** - `axis` 的元素不是int。
|
||||
- **ValueError** - `axis` 超出[-len(input_x.shape), len(input_x.shape))范围。
|
||||
- **ValueError** - `shift` 的shape长度不等于 `axis` 的shape长度。
|
Loading…
Reference in New Issue