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

414 lines
8.9 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

mindspore.nn
=============
神经网络Cell。
用于构建神经网络中的预定义构建块或计算单元。
MindSpore中 `mindspore.nn` 接口与上一版本相比,新增、删除和支持平台的变化信息请参考 `API Updates <https://gitee.com/mindspore/docs/blob/master/resource/api_updates/ops_api_updates.md>`_
基本构成单元
------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Cell
mindspore.nn.GraphCell
mindspore.nn.LossBase
mindspore.nn.Optimizer
容器
-----------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.CellList
mindspore.nn.SequentialCell
封装层
-----------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
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
卷积神经网络层
--------------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Conv1d
mindspore.nn.Conv1dTranspose
mindspore.nn.Conv2d
mindspore.nn.Conv2dTranspose
mindspore.nn.Conv3d
mindspore.nn.Conv3dTranspose
mindspore.nn.Unfold
循环神经网络层
-----------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.RNN
mindspore.nn.RNNCell
mindspore.nn.GRU
mindspore.nn.GRUCell
mindspore.nn.LSTM
mindspore.nn.LSTMCell
嵌入层
-----------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Embedding
mindspore.nn.EmbeddingLookup
mindspore.nn.MultiFieldEmbeddingLookup
非线性激活函数层
------------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.CELU
mindspore.nn.ELU
mindspore.nn.FastGelu
mindspore.nn.GELU
mindspore.nn.HShrink
mindspore.nn.HSigmoid
mindspore.nn.HSwish
mindspore.nn.LeakyReLU
mindspore.nn.LogSigmoid
mindspore.nn.LogSoftmax
mindspore.nn.PReLU
mindspore.nn.ReLU
mindspore.nn.ReLU6
mindspore.nn.Sigmoid
mindspore.nn.Softmax
mindspore.nn.SoftShrink
mindspore.nn.Tanh
线性层
-----------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Dense
Dropout层
-----------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Dropout
归一化层
---------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.BatchNorm1d
mindspore.nn.BatchNorm2d
mindspore.nn.BatchNorm3d
mindspore.nn.GlobalBatchNorm
mindspore.nn.GroupNorm
mindspore.nn.InstanceNorm2d
mindspore.nn.LayerNorm
mindspore.nn.SyncBatchNorm
池化层
--------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.AvgPool1d
mindspore.nn.AvgPool2d
mindspore.nn.MaxPool1d
mindspore.nn.MaxPool2d
填充层
--------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Pad
损失函数
--------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.BCELoss
mindspore.nn.BCEWithLogitsLoss
mindspore.nn.CosineEmbeddingLoss
mindspore.nn.DiceLoss
mindspore.nn.FocalLoss
mindspore.nn.L1Loss
mindspore.nn.MSELoss
mindspore.nn.MultiClassDiceLoss
mindspore.nn.RMSELoss
mindspore.nn.SampledSoftmaxLoss
mindspore.nn.SmoothL1Loss
mindspore.nn.SoftMarginLoss
mindspore.nn.SoftmaxCrossEntropyWithLogits
优化器
-------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Adagrad
mindspore.nn.Adam
mindspore.nn.AdamOffload
mindspore.nn.AdamWeightDecay
mindspore.nn.AdaSumByDeltaWeightWrapCell
mindspore.nn.AdaSumByGradWrapCell
mindspore.nn.ASGD
mindspore.nn.FTRL
mindspore.nn.Lamb
mindspore.nn.LARS
mindspore.nn.LazyAdam
mindspore.nn.Momentum
mindspore.nn.ProximalAdagrad
mindspore.nn.RMSProp
mindspore.nn.Rprop
mindspore.nn.SGD
mindspore.nn.thor
评估指标
--------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Accuracy
mindspore.nn.auc
mindspore.nn.BleuScore
mindspore.nn.ConfusionMatrix
mindspore.nn.ConfusionMatrixMetric
mindspore.nn.CosineSimilarity
mindspore.nn.Dice
mindspore.nn.F1
mindspore.nn.Fbeta
mindspore.nn.HausdorffDistance
mindspore.nn.get_metric_fn
mindspore.nn.Loss
mindspore.nn.MAE
mindspore.nn.MeanSurfaceDistance
mindspore.nn.Metric
mindspore.nn.MSE
mindspore.nn.names
mindspore.nn.OcclusionSensitivity
mindspore.nn.Perplexity
mindspore.nn.Precision
mindspore.nn.Recall
mindspore.nn.ROC
mindspore.nn.RootMeanSquareDistance
mindspore.nn.rearrange_inputs
mindspore.nn.Top1CategoricalAccuracy
mindspore.nn.Top5CategoricalAccuracy
mindspore.nn.TopKCategoricalAccuracy
动态学习率
-----------
LearningRateSchedule类
^^^^^^^^^^^^^^^^^^^^^^^
本模块中的动态学习率都是LearningRateSchedule的子类将LearningRateSchedule的实例传递给优化器。在训练过程中优化器以当前step为输入调用该实例得到当前的学习率。
.. code-block::
import mindspore.nn as nn
min_lr = 0.01
max_lr = 0.1
decay_steps = 4
cosine_decay_lr = nn.CosineDecayLR(min_lr, max_lr, decay_steps)
net = Net()
optim = nn.Momentum(net.trainable_params(), learning_rate=cosine_decay_lr, momentum=0.9)
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.CosineDecayLR
mindspore.nn.ExponentialDecayLR
mindspore.nn.InverseDecayLR
mindspore.nn.NaturalExpDecayLR
mindspore.nn.PolynomialDecayLR
mindspore.nn.WarmUpLR
Dynamic LR函数
^^^^^^^^^^^^^^
本模块中的动态学习率都是function调用function并将结果传递给优化器。在训练过程中优化器将result[current step]作为当前学习率。
.. code-block::
import mindspore.nn as nn
min_lr = 0.01
max_lr = 0.1
total_step = 6
step_per_epoch = 1
decay_epoch = 4
lr= nn.cosine_decay_lr(min_lr, max_lr, total_step, step_per_epoch, decay_epoch)
net = Net()
optim = nn.Momentum(net.trainable_params(), learning_rate=lr, momentum=0.9)
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
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
稀疏层
-------------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.SparseTensorDenseMatmul
mindspore.nn.SparseToDense
图像处理层
-----------
.. 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.get_activation
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.MatMul
mindspore.nn.Moments
mindspore.nn.ReduceLogSumExp
梯度
-----
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Jvp
mindspore.nn.Vjp