图像识别技术与应用(十二)
这段代码是用于评估对于已经训练好的神经网络的准确率,correct是用于记录预测正确的样本数量,所以初始值为0,total是用于记录测试集中样本总数,所以初始值为0;这段代码是计算输出一个分类模型在测试集上,创建两个长度为10的列表,分别记录每个类别预测正确的样本数和每个类别样本的总数量,关闭了梯度计算,第一个for循环遍历测试数据加载器,第二个for循环统计每个类别的正确预测数和总数,第三个fo
本节课继续上节课的代码,接着讲了卷积神经网络在cifar10中的应用,系统的讲述了每段代码的含义,以及代码是如何实现的。讲述的是第一种方法,用来进行对神经网络数据加载器的处理
iter:内置函数、迭代器 testloader:用于加载数据 images,labels:照片,标签 make_grid:刻度
for循环,通过迭代i来进行对images(图像)和labels(标签)的返回数据;device是利用GPU或CPU来加速计算。

将图像数据以及标签数据利用设备device来进行计算,将数据输入到模型net中,调用net(images),通过前向传播(正向传播)来进行对图像数据的处理并输出;torch.max是用于在指定维度上找到张量的最大值,1表示是在维度1上进行操作,该代码会返回两个值,一个是样本最大值(用占位符来接收),一个是predicted每个样本预测的类型索引;最后输出打印前四个样本元素类型。

这段代码是用于评估对于已经训练好的神经网络的准确率,correct是用于记录预测正确的样本数量,所以初始值为0,total是用于记录测试集中样本总数,所以初始值为0;for循环是遍历测试数据加载器testloader;从testloader中取出一个批次的数据,data是一个包含输入图像和对应标签的元组,将图像数据赋值给images,标签数据赋值给labels;total是当前样本数量累加和,之后计算预测正确的并进行对预测值的打印。

这段代码是计算输出一个分类模型在测试集上,创建两个长度为10的列表,分别记录每个类别预测正确的样本数和每个类别样本的总数量,关闭了梯度计算,第一个for循环遍历测试数据加载器,第二个for循环统计每个类别的正确预测数和总数,第三个for循环是计算并输出每个类别的准确率,发现10个样本中,准确率最高的是car,为73%,最低的是cat-28%

这段代码是定义了一个简单的卷积神经网络模型,并使其移动到合适的计算设备中,
第一个定义函数中:(conv卷积层,pool池化层,MaxPool最大池化层,aap/AdaptiveAvgPool自适应平均池化层,linear全连接层)三个数值对应RGB三个通道,env中为(输入通道,输出通道,卷积核大小),pool中为(池化核大小,步长),Linear(输入特征,输出特征);
第二个定义函数中:为前向传播,先进行第一层卷积层,并应用relu激活函数,再进行第一次最大池化层..以此类推
最后打印输出神经网络net中参数的总数量为16022

这段代码主要是在深度学习训练过程中,设置损失函数和优化器相关的配置。LR是学习率,criterion为损失函数
下面的代码是使用pytorch框架训练神经网络的循环,用于在训练集上对神经网络进行多轮训练,并在训练过程中监控损失值
外层函数控制的是训练轮数,初始化损失累加值;内层循环是控制遍历训练数据加载器,获取到训练数据并移动到设备中,权重参数梯度设置为零,通过正向和反向传播,显示出损失值:损失值最小为0.976


这段代码是定义了一个函数,用于生成神经网络模型的参数摘要信息,包括每一层的输入形状、输出形状、参数数量以及是否可训练等

更多推荐



所有评论(0)