使用MindSpore创建网络模型的基本方法

 时间:2024-10-12 02:41:00

1、 首先需要清楚:使用MindSpore定义神经网络需要继承mindspore.nn.Cell。Cell是所有神经网络(如Conv2d-relu-softmax等)的基类。import mindspore.nn as nnfrom mindspore.common.initializer import Normal

2、 导入我们的基础模块后,我们开始定义模型的类,神经网络的各层需要预先在__init__方法中定义,然后通过定义construct菱诎逭幂方法来完成神经网络的前向构造。按照LeNet的网络结构,定义网络各层如下:class LeNet5(nn.Cell): """ Lenet网络结构 """ def __init__(self, num_class=10, num_channel=1): super(LeNet5, self).__init__() # 定义所需要的运算 self.conv1 = nn.Conv2d(num_channel, 6, 5, pad_mode='valid') self.conv2 = nn.Conv2d(6, 16, 5, pad_mode='valid') self.fc1 = nn.Dense(16 * 5 * 5, 120, weight_init=Normal(0.02)) self.fc2 = nn.Dense(120, 84, weight_init=Normal(0.02)) self.fc3 = nn.Dense(84, num_class, weight_init=Normal(0.02)) self.relu = nn.ReLU() self.max_pool2d = nn.MaxPool2d(kernel_size=2, stride=2) self.flatten = nn.Flatten()

3、 这里开始,我们将每层串联起来。 def construct猾诮沓靥(self, x): # 使用定义好的运算构建前向网络 x = self.conv1(x) x = self.relu(x) x = self.max_pool2d(x) x = self.conv2(x) x = self.relu(x) x = self.max_pool2d(x) x = self.flatten(x) x = self.fc1(x) x = self.relu(x) x = self.fc2(x) x = self.relu(x) x = self.fc3(x) return x

4、 最终,我们将创建出我们需要的基础网络模型。# 实例化网络net = LeNet5()

  • salicru(塞里克鲁)ups转维修旁路操作
  • 遇见尊上苏禾怎么解锁
  • 玄中记神赐元兽怎么获得
  • 先驱者支线-猎人温迪戈攻略
  • 如何开启Apple iPod touch的电量百分比
  • 热门搜索
    文明礼仪手抄报 读书手抄报简单又漂亮 读书的手抄报 小学生手抄报 廉洁手抄报 法制手抄报内容 清明手抄报内容 建党节手抄报 数学手抄报图片 科学手抄报