图像识别技术与应用课后总结(15)

网络构建:定义了 CNNNet 和 Net 两个类构建卷积神经网络,网络包含卷积层、池化层和全连接层 ,前者网络还计算并输出了总参数数量。

训练模型:设置随机梯度下降(SGD)优化器和交叉熵损失函数,通过多轮迭代(epoch)对网络进行训练,在训练过程中每2000个小批量(mini - batches)打印一次损失值。

测试模型:分别计算了网络在10000张测试图像上的整体准确率,以及各个类别(如plane、car、bird等)的分类准确率。

模型定义:定义了多个CNN模型类,如 Net 、 CNNNet 、 LeNet 、 VGG  。 Net 模型采用了自适应平均池化层; CNNNet 模型包含常规的卷积层、池化层和全连接层; LeNet 是经典的卷积神经网络架构; VGG 模型根据配置字典 cfg 动态构建网络结构,有 VGG16 和 VGG19 两种配置 。

模型参数统计:通过 sum(x.numel() for x in net.parameters()) 计算模型总参数数量;还定义了 paras_summary 函数,用于像Keras一样显示模型各层的参数信息,包括输入输出形状、可训练性和参数数量等。

数据处理与加载:导入CIFAR10数据集,对训练集和测试集分别进行数据增强(训练集)和归一化等预处理操作,然后使用 DataLoader 加载数据。

模型训练:设置超参数如批量大小( BATCHSIZE )、学习率( LR )、训练轮数( EPOCHES )等,定义交叉熵损失函数和随机梯度下降(SGD)优化器,通过多轮迭代训练模型,并在训练过程中记录和打印损失值。

数据处理:使用 torchvision.datasets 中的 MNIST 加载手写数字数据集,利用 transforms.Compose 组合数据转换操作,如归一化 Normalize 和转张量 ToTensor ,并通过 DataLoader 创建数据加载器,方便批量处理数据。

模型构建:定义了 Net 类构建神经网络,包含展平层 Flatten 、线性层 Linear 、批量归一化层 BatchNorm1d ,使用 ReLU 作为激活函数,输出层用 softmax 。还介绍了其他如 VGG 等不同结构的卷积神经网络模型。

模型训练:设置训练的超参数,如学习率、训练轮数、批量大小等。定义交叉熵损失函数 CrossEntropyLoss 和优化器(如 SGD 、 Adam ) 。在训练过程中,包括梯度清零、正向传播、计算损失、反向传播和参数更新等步骤,并动态调整学习率,记录训练和测试的损失值与准确率。

模型评估:训练完成后,在测试集上评估模型性能,通过计算预测结果与真实标签的匹配情况得出准确率。同时,还对源数据进行可视化,展示部分测试集图像及其真实标签。

集成方法:采用类似投票机制的模型集成方法,将多个模型组合,在训练和测试时对多个模型的结果进行综合处理,以提高整体预测的准确性 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值