继承nn.Module基类构建模型
模型的结构包括:
一个`Flatten`层,用于将输入数据展平。
两个全连接层(`Linear`),分别有300和100个隐藏单元。
两个批归一化层(`BatchNorm1d`)。
一个输出层,有10个输出单元(通常用于10类分类问题)。
运行结果
使用nn.Sequential按层顺序构建模型
①利用可变参数
②使用add_module方法
③使用OrderedDict方法
继承nn.Module基类并应用模型容器构建模型
①使用nn.Sequential模型容器
② 使用nn.ModuleList模型容器
③使用nn.ModuleDict模型容器
自定义网络模块
残差块有两种:
①一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。
②另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率
组合这两个模块得到现代经典RetNet18网络结构。
训练模型
1.加载预处理数据集
2.定义损失函数
3.定义优化方法
4.循环训练模型
5.循环测试或验证模型
6.可视化结果