从0实现深度神经网络的正向传播
我们在前面几节已经学完了一个普通深度神经网络全部的基本元素——用来构筑神经网络的结构的层与
激活函数,输入神经网络的数据(特征、权重、截距),并且我们了解从左向右的过程是神经网络的正
向传播(也叫做前向传播,或者向前传播)。还记得我们的架构图吗?在过去的课程中我们所学习的内
容都是在torch.nn这个模块下,现在我们就使用封装好的torch.nn模块来实现一个完整、多层的神经网
络的正向传播。
假设我们有500条数据,20个特征,标签为3分类。我们现在要实现一个三层神经网络,这个神经网络的架构如下第一层有13个神经元,第二层有8个神经元,第三层是输出层。其中,第一层的激活函数是relu,第二层是sigmoid我们要如何实现它呢?来看代码:
import torch
import torch.nn as nn
from torch.nn import functional as F
#继承nn.Modules类来定义神经网路的架构
class Model(nn.Module):
#init:定义类本身,__init__函数是在类被实例化的瞬间就会执行的函数
def __init__(self,i