总结一下最近一段时间,用 pytorch 实现深度神经网络模型。如果要求我们自己写深度模型,我们该怎么构建模型框架。
我总结的深度回归模型是从5个方面创建,方法不是唯一的——构建的思路我也会不断的更新和修改,以及后续添加新的模型
(一)pytorch 神经网络线性回归模型框架
- 1.准备数据集 - 可以加入数据增强方法
- 2.搭建自己的模型
(2.1)对于简单的线性模型我们可以直接用model=nn.Linear(input,output),训练模型时直接调用模型就可以了。 (2.2)对于神经网络而言:输入层,隐藏层,输出层;其中包括卷积、池化和全连接。 构建自己的模型,我们需要定义一个类,步骤是: 2.1定义类–定义__self_方法:初始 化卷积、池化和全连接 2.2定义前向传播:把2.1方法中的卷积、池化、全连接等拼接在一起,要注意前向传播网络的顺序 2.3最后切记:返回2.2前向传播的输出值 2.4调用类:把类集成在 model 函数里,方便后面直接调用model 集成模型 - 3.构造损失函数和优化器
- 4.训练模型(可放在定义好的for循环中,迭代次数,批处理量都已经初始化)
前向传播(4.1)前向传播调用 2 模型 (4.2)前向传播计算损失 反向传播(4.3)优化器进行梯度清零(4.4)损失函数反向传播,计算梯度(4.5)优化器迭代更新 输出优化后的损失值(4.6)if 条件判断语句输出损失值 - 5.模型可视化-(线性回归模型可视化)
- ————线性回归模型就结束了————接着是逻辑回归模型,组成一个大的整体(承上启下)
- 6.测试模型(上面的数据可以认为是训练数据,测试模型用到的是测试数据)
测试模型可以将训练模型包装起来,然后再次调用模型,导入测试数据时不会进行反向传播
|