<jupyter_start><jupyter_text>模型层[![](https://gitee.com/mindspore/docs/raw/master/resource/_static/logo_source.png)](https://gitee.com/mindspore/docs/blob/master/docs/mindspore/programming_guide/source_zh_cn/layer.ipynb)&emsp;[![](https://gitee.com/mindspore/docs/raw/master/resource/_static/logo_notebook.png)](https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/master/programming_guide/zh_cn/mindspore_layer.ipynb)&emsp;[![](https://gitee.com/mindspore/docs/raw/master/resource/_static/logo_modelarts.png)](https://authoring-modelarts-cnnorth4.huaweicloud.com/console/lab?share-url-b64=aHR0cHM6Ly9vYnMuZHVhbHN0YWNrLmNuLW5vcnRoLTQubXlodWF3ZWljbG91ZC5jb20vbWluZHNwb3JlLXdlYnNpdGUvbm90ZWJvb2svbW9kZWxhcnRzL3Byb2dyYW1taW5nX2d1aWRlL21pbmRzcG9yZV9sYXllci5pcHluYg==&imageid=65f636a0-56cf-49df-b941-7d2a07ba8c8c)  概述在讲述了`Cell`的使用方法后可知，MindSpore能够以`Cell`为基类构造网络结构。为了方便用户的使用，MindSpore框架内置了大量的模型层，用户可以通过接口直接调用。同样，用户也可以自定义模型，此内容在“构建自定义网络”中介绍。  内置模型层MindSpore框架在`mindspore.nn`的layer层内置了丰富的接口，主要内容如下：- 激活层    激活层内置了大量的激活函数，在定义网络结构中经常使用。激活函数为网络加入了非线性运算，使得网络能够拟合效果更好。    主要接口有`Softmax`、`Relu`、`Elu`、`Tanh`、`Sigmoid`等。    - 基础层    基础层实现了网络中一些常用的基础结构，例如全连接层、Onehot编码、Dropout、平铺层等都在此部分实现。    主要接口有`Dense`、`Flatten`、`Dropout`、`Norm`、`OneHot`等。    - 容器层    容器层主要功能是实现一些存储多个Cell的数据结构。    主要接口有`SequentialCell`、`CellList`等。    - 卷积层    卷积层提供了一些卷积计算的功能，如普通卷积、深度卷积和卷积转置等。    主要接口有`Conv2d`、`Conv1d`、`Conv2dTranspose`、`Conv1dTranspose`等。    - 池化层    池化层提供了平均池化和最大池化等计算的功能。    主要接口有`AvgPool2d`、`MaxPool2d`和`AvgPool1d`。    - 嵌入层    嵌入层提供word embedding的计算功能，将输入的单词映射为稠密向量。    主要接口有`Embedding`、`EmbeddingLookup`、`EmbeddingLookUpSplitMode`等。    - 长短记忆循环层    长短记忆循环层提供LSTM计算功能。其中`LSTM`内部会调用`LSTMCell`接口，`LSTMCell`是一个LSTM单元，对一个LSTM层做运算，当涉及多LSTM网络层运算时，使用`LSTM`接口。    主要接口有`LSTM`和`LSTMCell`。    - 标准化层    标准化层提供了一些标准化的方法，即通过线性变换等方式将数据转换成均值和标准差。    主要接口有`BatchNorm1d`、`BatchNorm2d`、`LayerNorm`、`GroupNorm`、`GlobalBatchNorm`等。    - 数学计算层    数学计算层提供一些算子拼接而成的计算功能，例如数据生成和一些数学计算等。    主要接口有`ReduceLogSumExp`、`Range`、`LinSpace`、`LGamma`等。    - 图片层    图片计算层提供了一些矩阵计算相关的功能，将图片数据进行一些变换与计算。    主要接口有`ImageGradients`、`SSIM`、`MSSSIM`、`PSNR`、`CentralCrop`等。    - 量化层    量化是指将数据从float的形式转换成一段数据范围的int类型，所以量化层提供了一些数据量化的方法和模型层结构封装。    主要接口有`Conv2dBnAct`、`DenseBnAct`、`Conv2dBnFoldQuant`、`LeakyReLUQuant`等。  应用实例MindSpore的模型层在`mindspore.nn`下，使用方法如下所示：<jupyter_code>import mindspore.nn as nn

class Net(nn.Cell):
    def __init__(self):
        super(Net, self).__init__()
        self.conv = nn.Conv2d(3, 64, 3, has_bias=False, weight_init='normal')
        self.bn = nn.BatchNorm2d(64)
        self.relu = nn.ReLU()
        self.flatten = nn.Flatten()
        self.fc = nn.Dense(64 * 222 * 222, 3)

    def construct(self, x):
        x = self.conv(x)
        x = self.bn(x)
        x = self.relu(x)
        x = self.flatten(x)
        out = self.fc(x)
        return out<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13908205841446453, 'fraction_numerical': 0.027121001390820583, 'mean_word_length': 5.966101694915254, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '530141', 'license': 'Apache-2.0', 'n_tokens_mistral': 1713, 'n_tokens_neox': 1819, 'n_words': 79, 'path': 'docs/mindspore/programming_guide/source_zh_cn/layer.ipynb', 'repo_name': 'bwcsswcx/docs', 'size': '2876'}