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

 时间:2024-10-13 20:18:17

网络模型是训练的主体,我们可以类比搭建积木的方法创建我们所需的网络模型,下面我们展示下基本步骤。

工具/原料

MindSpore1.5.0

Windows10

方法/步骤

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

2、导入我们的基础模块后,我们开始定义模型的类,神经网络的各层需溴溢菏确要预先在__init__方法中定义,然后通过定义construct菱诎逭幂方法来完成神经网络的前向构造。按照LeNet的网络结构,定义网络各层如下:classLeNet5(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、这里开始,我们将每层串联起来。defconstruct猾诮沓靥(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)returnx

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

salicru(塞里克鲁)ups转维修旁路操作 遇见尊上苏禾怎么解锁 玄中记神赐元兽怎么获得 先驱者支线-猎人温迪戈攻略 如何开启Apple iPod touch的电量百分比
热门搜索
狼狗图片 女神漫画 老婆是魔法少女 五倍子图片 春天图片