《昇思25天学习打卡笔记》---第五天|初学入门---网络构建

mindspore提供了常见的神经网络的实现,这是我从网上找到的一部分网络的实现方法:

  1. 线性回归模型:

    • 使用 nn.Dense 层可以构建线性模型。
  2. 卷积神经网络 (CNN):

    • 可以使用 nn.Conv2d 构建卷积层,结合 nn.MaxPool2d 或 nn.AvgPool2d 实现池化,以及 nn.BatchNorm2d 进行批量归一化。
    • 示例模型包括:LeNet, AlexNet, VGG, ResNet, Inception, MobileNet 等。
  3. 循环神经网络 (RNN):

    • 可以使用 nn.RNNnn.GRU, 和 nn.LSTM 实现不同类型的循环网络。
  4. 长短时记忆网络 (LSTM):

    • 使用 nn.LSTM 构建。
  5. 序列到序列模型 (Seq2Seq):

    • 结合 RNN/LSTM 和编码器-解码器结构。
  6. 注意力机制模型:

    • 可以使用自定义的注意力层或 nn.MultiHeadAttention 实现。
  7. Transformer 模型:

    • 利用 nn.TransformerEncoderLayer 和 nn.TransformerDecoderLayer 构建。
  8. 生成对抗网络 (GAN):

    • 包括生成器和判别器,分别使用不同的神经网络架构。
  9. 自编码器 (AE) / 卷积自编码器 (CAE):

    • 使用编码器和解码器结构,可以基于 CNN 构建。
  10. 变分自编码器 (VAE):

    • 增加了采样层,以实现概率生成模型。
  11. 图神经网络 (GNN):

    • MindSpore 提供了对图数据的支持,可以构建 Graph Convolutional Networks (GCN) 等模型。
  12. 强化学习 (RL) 模型:

    • 可以使用 MindSpore 构建策略网络和价值网络。

为了实现这些模型,通常需要定义一个继承自 nn.Cell 的类,并在其中使用 MindSpore 提供的层和操作。例如,构建一个 ResNet 模型,你可以创建一个类并使用 nn.Conv2d, nn.BatchNorm2d, nn.ReLU, nn.MaxPool2d 等组件。

定义模型的时候,模型集成nn.Cell类,并且在__init__方法中对Cell进行实例化和管理。

nn.SequentialCell中定义3层,每一层的输入参数要和上一层的输出参数相同。

nn.Dense为全连接层,使权重和偏差对输入进行变换。

nn.ReLU为激活函数,帮助神经网络学习

nn.SequentialCell为Cell容器,用于快速构造神经网络模型。

nn.Softmax是用来离散化的函数,将值范围(0,1】

最后放一个代码块,来表示整个网络的构建过程。

class Network(nn.Cell):
    def __init__(self):
        super().__init__()
        self.flatten = nn.Flatten()
        self.dense_relu_sequential = nn.SequentialCell(
            nn.Dense(28*28, 512, weight_init="normal",bias_init="zeros"),
            nn.ReLU(),
            nn.Dense(512, 512, weight_init="normal",bias_init="zeros"),
            nn.ReLU(),
            nn.Dense(512,10, weight_init="normal",bias_init="zeros")
        )
    def construct(self, x):
        x = self.flatten(x)
        logits = self.dense_relu_sequential(x)
        return logits
        

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值