mindspore/docs/api/api_python/mindspore.nn.rst

421 lines
9.3 KiB
ReStructuredText
Raw Normal View History

mindspore.nn
=============
2022-02-08 15:25:43 +08:00
神经网络Cell。
用于构建神经网络中的预定义构建块或计算单元。
2022-02-11 10:30:32 +08:00
MindSpore中 `mindspore.nn` 接口与上一版本相比,新增、删除和支持平台的变化信息请参考 `API Updates <https://gitee.com/mindspore/docs/blob/master/resource/api_updates/ops_api_updates.md>`_
2022-02-08 15:25:43 +08:00
2022-02-11 09:07:57 +08:00
基本构成单元
------------
.. mscnplatformautosummary::
:toctree: nn
2022-02-11 17:34:24 +08:00
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Cell
2022-02-11 17:34:24 +08:00
mindspore.nn.GraphCell
2022-03-24 16:04:00 +08:00
mindspore.nn.LossBase
mindspore.nn.Optimizer
2022-01-08 17:47:30 +08:00
容器
2021-12-08 10:01:50 +08:00
-----------
.. mscnplatformautosummary::
2021-12-08 10:01:50 +08:00
:toctree: nn
2022-03-26 09:58:46 +08:00
:nosignatures:
:template: classtemplate.rst
2021-12-08 10:01:50 +08:00
mindspore.nn.CellList
mindspore.nn.SequentialCell
2022-03-24 16:04:00 +08:00
封装层
-----------
.. mscnplatformautosummary::
:toctree: nn
2022-03-26 09:58:46 +08:00
:nosignatures:
:template: classtemplate.rst
2022-03-24 16:04:00 +08:00
mindspore.nn.DistributedGradReducer
mindspore.nn.DynamicLossScaleUpdateCell
mindspore.nn.FixedLossScaleUpdateCell
mindspore.nn.ForwardValueAndGrad
mindspore.nn.GetNextSingleOp
mindspore.nn.MicroBatchInterleaved
mindspore.nn.ParameterUpdate
mindspore.nn.PipelineCell
mindspore.nn.TimeDistributed
mindspore.nn.TrainOneStepCell
mindspore.nn.TrainOneStepWithLossScaleCell
mindspore.nn.WithEvalCell
mindspore.nn.WithGradCell
mindspore.nn.WithLossCell
卷积神经网络层
2021-12-08 15:50:20 +08:00
--------------------
.. mscnplatformautosummary::
2021-12-08 15:50:20 +08:00
:toctree: nn
2022-03-26 09:58:46 +08:00
:nosignatures:
:template: classtemplate.rst
2021-12-08 15:50:20 +08:00
mindspore.nn.Conv1d
mindspore.nn.Conv1dTranspose
mindspore.nn.Conv2d
mindspore.nn.Conv2dTranspose
mindspore.nn.Conv3d
mindspore.nn.Conv3dTranspose
2022-03-24 16:04:00 +08:00
mindspore.nn.Unfold
2021-12-08 15:50:20 +08:00
2022-03-24 16:04:00 +08:00
循环神经网络层
-----------------
2022-02-11 17:34:24 +08:00
.. mscnplatformautosummary::
2022-02-11 17:34:24 +08:00
:toctree: nn
:nosignatures:
:template: classtemplate.rst
2022-03-24 16:04:00 +08:00
mindspore.nn.RNN
mindspore.nn.RNNCell
2022-02-11 17:34:24 +08:00
mindspore.nn.GRU
2022-03-24 16:04:00 +08:00
mindspore.nn.GRUCell
2022-02-11 17:34:24 +08:00
mindspore.nn.LSTM
2022-03-24 16:04:00 +08:00
mindspore.nn.LSTMCell
2022-05-31 18:02:02 +08:00
2022-03-24 16:04:00 +08:00
嵌入层
-----------------
2022-02-11 17:34:24 +08:00
.. mscnplatformautosummary::
2022-02-11 17:34:24 +08:00
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Embedding
mindspore.nn.EmbeddingLookup
mindspore.nn.MultiFieldEmbeddingLookup
2022-03-24 16:04:00 +08:00
非线性激活函数层
2022-03-30 10:04:36 +08:00
------------------
.. mscnplatformautosummary::
:toctree: nn
2022-02-11 17:34:24 +08:00
:nosignatures:
:template: classtemplate.rst
2022-02-11 17:34:24 +08:00
mindspore.nn.CELU
2022-02-11 15:23:20 +08:00
mindspore.nn.ELU
mindspore.nn.FastGelu
2022-02-11 15:23:20 +08:00
mindspore.nn.GELU
2022-09-05 16:31:41 +08:00
mindspore.nn.get_activation
mindspore.nn.Hardtanh
2021-12-08 15:50:20 +08:00
mindspore.nn.HShrink
mindspore.nn.HSigmoid
mindspore.nn.HSwish
2021-12-07 17:45:17 +08:00
mindspore.nn.LeakyReLU
2021-12-08 15:50:20 +08:00
mindspore.nn.LogSigmoid
mindspore.nn.LogSoftmax
2022-07-15 14:47:15 +08:00
mindspore.nn.LRN
mindspore.nn.Mish
2022-05-06 16:39:07 +08:00
mindspore.nn.Softsign
2022-02-11 17:34:24 +08:00
mindspore.nn.PReLU
mindspore.nn.ReLU
2022-02-11 17:34:24 +08:00
mindspore.nn.ReLU6
2022-06-20 15:43:14 +08:00
mindspore.nn.RReLU
2022-07-15 14:47:15 +08:00
mindspore.nn.SeLU
2022-05-05 16:57:29 +08:00
mindspore.nn.SiLU
2021-12-08 15:50:20 +08:00
mindspore.nn.Sigmoid
2022-05-05 16:57:29 +08:00
mindspore.nn.Softmin
2021-12-07 17:45:17 +08:00
mindspore.nn.Softmax
2022-02-11 17:34:24 +08:00
mindspore.nn.SoftShrink
2021-12-08 15:50:20 +08:00
mindspore.nn.Tanh
mindspore.nn.Tanhshrink
2022-05-23 14:51:53 +08:00
mindspore.nn.Threshold
2022-03-24 16:04:00 +08:00
线性层
-----------------
2021-12-07 17:45:17 +08:00
.. mscnplatformautosummary::
2021-12-07 17:45:17 +08:00
:toctree: nn
2022-02-11 17:34:24 +08:00
:nosignatures:
:template: classtemplate.rst
2021-12-07 17:45:17 +08:00
2022-02-11 17:34:24 +08:00
mindspore.nn.Dense
2022-05-23 11:14:52 +08:00
mindspore.nn.BiDense
2021-12-07 17:45:17 +08:00
2022-03-24 16:04:00 +08:00
Dropout层
-----------------
2021-12-07 17:45:17 +08:00
.. mscnplatformautosummary::
2021-12-07 17:45:17 +08:00
:toctree: nn
2022-02-11 17:34:24 +08:00
:nosignatures:
:template: classtemplate.rst
2022-03-24 16:04:00 +08:00
mindspore.nn.Dropout
2022-07-04 21:27:43 +08:00
mindspore.nn.Dropout2d
mindspore.nn.Dropout3d
2021-12-07 17:45:17 +08:00
2022-02-11 17:34:24 +08:00
归一化层
---------
.. mscnplatformautosummary::
2022-02-11 17:34:24 +08:00
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.BatchNorm1d
mindspore.nn.BatchNorm2d
mindspore.nn.BatchNorm3d
mindspore.nn.GroupNorm
mindspore.nn.InstanceNorm1d
2022-02-11 17:34:24 +08:00
mindspore.nn.InstanceNorm2d
mindspore.nn.InstanceNorm3d
2022-02-11 17:34:24 +08:00
mindspore.nn.LayerNorm
mindspore.nn.SyncBatchNorm
池化层
--------------
.. mscnplatformautosummary::
2022-02-11 17:34:24 +08:00
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.AdaptiveAvgPool1d
mindspore.nn.AdaptiveAvgPool2d
2022-08-22 00:30:11 +08:00
mindspore.nn.AdaptiveAvgPool3d
mindspore.nn.AdaptiveMaxPool1d
2022-05-28 12:01:53 +08:00
mindspore.nn.AdaptiveMaxPool2d
mindspore.nn.AdaptiveMaxPool3d
2022-02-11 17:34:24 +08:00
mindspore.nn.AvgPool1d
mindspore.nn.AvgPool2d
mindspore.nn.MaxPool1d
mindspore.nn.MaxPool2d
2022-03-24 16:04:00 +08:00
填充层
--------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Pad
mindspore.nn.ConstantPad1d
mindspore.nn.ConstantPad2d
mindspore.nn.ConstantPad3d
2022-06-06 15:28:35 +08:00
mindspore.nn.ReflectionPad1d
mindspore.nn.ReflectionPad2d
mindspore.nn.ZeroPad2d
2022-02-11 17:34:24 +08:00
损失函数
--------
.. mscnplatformautosummary::
2022-02-11 17:34:24 +08:00
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.BCELoss
mindspore.nn.BCEWithLogitsLoss
mindspore.nn.CosineEmbeddingLoss
mindspore.nn.CrossEntropyLoss
2022-02-11 17:34:24 +08:00
mindspore.nn.DiceLoss
mindspore.nn.FocalLoss
mindspore.nn.HuberLoss
2021-12-08 15:50:20 +08:00
mindspore.nn.L1Loss
mindspore.nn.MSELoss
2022-02-11 17:34:24 +08:00
mindspore.nn.MultiClassDiceLoss
mindspore.nn.NLLLoss
2022-02-11 17:34:24 +08:00
mindspore.nn.RMSELoss
mindspore.nn.SampledSoftmaxLoss
2021-12-07 17:45:17 +08:00
mindspore.nn.SmoothL1Loss
2022-02-11 17:34:24 +08:00
mindspore.nn.SoftMarginLoss
mindspore.nn.SoftmaxCrossEntropyWithLogits
2022-02-11 09:07:57 +08:00
优化器
-------
.. mscnplatformautosummary::
:toctree: nn
2022-02-11 17:34:24 +08:00
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Adadelta
mindspore.nn.Adagrad
mindspore.nn.Adam
2022-05-31 18:02:02 +08:00
mindspore.nn.AdaMax
mindspore.nn.AdamOffload
mindspore.nn.AdamWeightDecay
2022-02-25 11:38:02 +08:00
mindspore.nn.AdaSumByDeltaWeightWrapCell
mindspore.nn.AdaSumByGradWrapCell
2022-02-11 17:34:24 +08:00
mindspore.nn.ASGD
mindspore.nn.FTRL
mindspore.nn.Lamb
2022-02-11 15:23:20 +08:00
mindspore.nn.LARS
mindspore.nn.LazyAdam
mindspore.nn.Momentum
mindspore.nn.ProximalAdagrad
mindspore.nn.RMSProp
2022-02-11 17:34:24 +08:00
mindspore.nn.Rprop
mindspore.nn.SGD
2022-02-07 15:46:27 +08:00
mindspore.nn.thor
2022-04-29 09:06:48 +08:00
评价指标
2021-12-04 20:36:47 +08:00
--------
2022-03-03 18:05:27 +08:00
.. mscnplatformautosummary::
2021-12-04 20:36:47 +08:00
:toctree: nn
2022-02-11 17:34:24 +08:00
:nosignatures:
:template: classtemplate.rst
2021-12-04 20:36:47 +08:00
mindspore.nn.Accuracy
2022-02-11 17:34:24 +08:00
mindspore.nn.auc
mindspore.nn.BleuScore
mindspore.nn.ConfusionMatrix
mindspore.nn.ConfusionMatrixMetric
mindspore.nn.CosineSimilarity
mindspore.nn.Dice
2021-12-04 20:36:47 +08:00
mindspore.nn.F1
mindspore.nn.Fbeta
2022-02-11 17:34:24 +08:00
mindspore.nn.HausdorffDistance
2022-02-11 15:23:20 +08:00
mindspore.nn.get_metric_fn
2021-12-04 20:36:47 +08:00
mindspore.nn.Loss
mindspore.nn.MAE
2022-02-11 17:34:24 +08:00
mindspore.nn.MeanSurfaceDistance
2021-12-04 20:36:47 +08:00
mindspore.nn.Metric
2022-02-11 15:23:20 +08:00
mindspore.nn.MSE
mindspore.nn.names
2022-02-11 17:34:24 +08:00
mindspore.nn.OcclusionSensitivity
mindspore.nn.Perplexity
2021-12-04 20:36:47 +08:00
mindspore.nn.Precision
mindspore.nn.Recall
2022-02-11 17:34:24 +08:00
mindspore.nn.ROC
mindspore.nn.RootMeanSquareDistance
2022-02-11 15:23:20 +08:00
mindspore.nn.rearrange_inputs
2021-12-04 20:36:47 +08:00
mindspore.nn.Top1CategoricalAccuracy
mindspore.nn.Top5CategoricalAccuracy
mindspore.nn.TopKCategoricalAccuracy
2022-02-11 09:07:57 +08:00
动态学习率
-----------
2021-12-04 20:36:47 +08:00
2022-02-11 09:07:57 +08:00
LearningRateSchedule类
^^^^^^^^^^^^^^^^^^^^^^^
2021-12-04 20:36:47 +08:00
2022-02-08 15:25:43 +08:00
本模块中的动态学习率都是LearningRateSchedule的子类将LearningRateSchedule的实例传递给优化器。在训练过程中优化器以当前step为输入调用该实例得到当前的学习率。
.. code-block::
import mindspore.nn as nn
2022-05-31 18:02:02 +08:00
2022-02-08 15:25:43 +08:00
min_lr = 0.01
max_lr = 0.1
decay_steps = 4
cosine_decay_lr = nn.CosineDecayLR(min_lr, max_lr, decay_steps)
2022-05-31 18:02:02 +08:00
2022-02-08 15:25:43 +08:00
net = Net()
optim = nn.Momentum(net.trainable_params(), learning_rate=cosine_decay_lr, momentum=0.9)
.. mscnplatformautosummary::
2021-12-04 20:36:47 +08:00
:toctree: nn
2022-03-28 19:07:41 +08:00
:nosignatures:
:template: classtemplate.rst
2021-12-04 20:36:47 +08:00
mindspore.nn.CosineDecayLR
mindspore.nn.ExponentialDecayLR
mindspore.nn.InverseDecayLR
mindspore.nn.NaturalExpDecayLR
mindspore.nn.PolynomialDecayLR
mindspore.nn.WarmUpLR
2022-02-11 09:07:57 +08:00
Dynamic LR函数
^^^^^^^^^^^^^^
2021-12-04 20:36:47 +08:00
2022-02-08 15:25:43 +08:00
本模块中的动态学习率都是function调用function并将结果传递给优化器。在训练过程中优化器将result[current step]作为当前学习率。
.. code-block::
import mindspore.nn as nn
2022-05-31 18:02:02 +08:00
2022-02-08 15:25:43 +08:00
min_lr = 0.01
max_lr = 0.1
total_step = 6
step_per_epoch = 1
decay_epoch = 4
2022-05-31 18:02:02 +08:00
2022-02-08 15:25:43 +08:00
lr= nn.cosine_decay_lr(min_lr, max_lr, total_step, step_per_epoch, decay_epoch)
2022-05-31 18:02:02 +08:00
2022-02-08 15:25:43 +08:00
net = Net()
optim = nn.Momentum(net.trainable_params(), learning_rate=lr, momentum=0.9)
2022-05-31 18:02:02 +08:00
2022-02-24 15:57:18 +08:00
.. mscnplatformautosummary::
2021-12-04 20:36:47 +08:00
:toctree: nn
2022-03-28 19:07:41 +08:00
:nosignatures:
:template: classtemplate.rst
2021-12-04 20:36:47 +08:00
mindspore.nn.cosine_decay_lr
mindspore.nn.exponential_decay_lr
mindspore.nn.inverse_decay_lr
mindspore.nn.natural_exp_decay_lr
mindspore.nn.piecewise_constant_lr
mindspore.nn.polynomial_decay_lr
mindspore.nn.warmup_lr
2022-03-24 16:04:00 +08:00
图像处理层
-----------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.CentralCrop
mindspore.nn.ImageGradients
mindspore.nn.MSSSIM
mindspore.nn.PSNR
mindspore.nn.ResizeBilinear
mindspore.nn.SSIM
矩阵处理
-----------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.MatrixDiag
mindspore.nn.MatrixDiagPart
mindspore.nn.MatrixSetDiag
工具
-----
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.ClipByNorm
mindspore.nn.Flatten
mindspore.nn.L1Regularizer
mindspore.nn.Norm
mindspore.nn.OneHot
mindspore.nn.Range
mindspore.nn.Roll
mindspore.nn.Tril
mindspore.nn.Triu
数学运算
----------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Moments