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

382 lines
8.5 KiB
ReStructuredText
Raw Normal View History

mindspore.nn
=============
2022-02-08 15:25:43 +08:00
神经网络Cell。
用于构建神经网络中的预定义构建块或计算单元。
2022-11-08 09:24:43 +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-10-10 14:22:11 +08:00
mindspore.nn.GLU
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-10-09 17:34:21 +08:00
mindspore.nn.Softmax2d
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-10-25 16:18:46 +08:00
mindspore.nn.Dropout1d
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
2022-10-08 16:17:20 +08:00
mindspore.nn.AvgPool3d
2022-10-09 14:57:46 +08:00
mindspore.nn.FractionalMaxPool2d
mindspore.nn.FractionalMaxPool3d
2022-10-19 14:59:03 +08:00
mindspore.nn.LPPool1d
mindspore.nn.LPPool2d
2022-02-11 17:34:24 +08:00
mindspore.nn.MaxPool1d
mindspore.nn.MaxPool2d
2022-10-08 16:17:20 +08:00
mindspore.nn.MaxPool3d
2022-10-12 20:15:45 +08:00
mindspore.nn.MaxUnpool1d
mindspore.nn.MaxUnpool2d
mindspore.nn.MaxUnpool3d
2022-02-11 17:34:24 +08:00
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
2022-10-09 15:48:06 +08:00
mindspore.nn.ReplicationPad1d
mindspore.nn.ReplicationPad2d
mindspore.nn.ReplicationPad3d
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-10-17 16:27:44 +08:00
mindspore.nn.CTCLoss
2022-02-11 17:34:24 +08:00
mindspore.nn.DiceLoss
mindspore.nn.FocalLoss
2022-10-17 14:24:17 +08:00
mindspore.nn.GaussianNLLLoss
2022-10-22 14:26:45 +08:00
mindspore.nn.HingeEmbeddingLoss
mindspore.nn.HuberLoss
2022-09-20 15:51:49 +08:00
mindspore.nn.KLDivLoss
2021-12-08 15:50:20 +08:00
mindspore.nn.L1Loss
2022-10-14 15:26:42 +08:00
mindspore.nn.MarginRankingLoss
2021-12-08 15:50:20 +08:00
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-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
2022-10-22 15:19:19 +08:00
mindspore.nn.PixelShuffle
mindspore.nn.PixelUnshuffle
2022-03-24 16:04:00 +08:00
mindspore.nn.ResizeBilinear
工具
-----
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
2022-10-20 20:05:15 +08:00
mindspore.nn.ChannelShuffle
2022-03-24 16:04:00 +08:00
mindspore.nn.Flatten
2022-11-25 16:27:57 +08:00
数学运算
----------
.. mscnplatformautosummary::
:toctree: nn
:nosignatures:
:template: classtemplate.rst
mindspore.nn.Moments