Pytorch入门实战
文章平均质量分 91
Pytorch入门实战
lihuhelihu
这个作者很懒,什么都没留下…
展开
-
第P10周:Pytorch实现车牌识别
这个 -1 告诉 PyTorch在计算中自动推断这个维度的大小,以确保其他维度的尺寸不变,并且能够保持张量的总大小不变。例如,[-1, 7,69]表示这个张量的形状是一个三维张量,其中第一个维度的大小是不确定的,第二维大小为7,第三大小分别为69。注意对比观察模型的输出[-1, 7, 69],我们之前的网络结构输出都是[-1, 7]、[-1, 2]、[-1, 4]这样的二维数据,如果要求模型输出结果是多维数据,那么本案例将是很好的示例。使用-1可以使模型适应不同大小的批处理输入数据。●数据集:车牌数据集。原创 2024-09-26 08:15:00 · 961 阅读 · 0 评论 -
第P9周:YOLOv5-Backbone模块实现
YOLOv5是目标检测算法,是否可以尝试将其网络结构用在目标识别上,或进行改进形成一个全新的算法(类似之前介绍过的VGG1-6)。本次将利用YOLOv5算法中的Backbone模块搭建网络。●深度学习环境:torch 2.3.0+cu121,torchvision 0.18.0+cu121。测试函数和训练函数大致相同,但是由于不进行梯度下降对网络权重进行更新,所以不需要传入优化器。分享一张K同学绘制的YOLOv5_6.0版本的算法框架图,希望它可以有助于你完成本次探索。●数据集:天气识别数据集。原创 2024-09-25 12:15:00 · 290 阅读 · 0 评论 -
第P8周:YOLOv5-C3模块实现
(思考:torch.save(model.state_dict(), PATH),这里的model应该修改成best_model吗?●深度学习环境:torch 2.3.0+cu121,torchvision 0.18.0+cu121。测试函数和训练函数大致相同,但是由于不进行梯度下降对网络权重进行更新,所以不需要传入优化器。提示:是否可以尝试通过增加/调整C3模块与Conv模块来提高准确率?●语言环境:python 3.12.3。二、搭建包含C3模块的模型。●数据集:天气识别数据集。原创 2024-09-24 19:30:00 · 300 阅读 · 0 评论 -
第P7周:马铃薯病害识别(VGG-16复现)
这次使用的是马铃薯病害数据集,该数据集包含表现出各种疾病的马铃薯植物的高分辨率图像,包括早期疫病、晚期疫病和健康叶子。它旨在帮助开发和测试图像识别模型,以实现准确的疾病检测和分类,从而促进农业诊断的进步。●3个全连接层(Fully connected Layer),分别用fcX与predictions表示。●13个卷积层(Convolutional Layer),分别用blockX_convX表示。VGG-16包含了16个隐藏层(13个卷积层和3个全连接层),故称为VGG-16。原创 2024-09-23 09:00:00 · 640 阅读 · 0 评论 -
第P6周:VGG-16算法-Pytorch实现人脸识别
VGG-16在2014年被提出,是VGG系列中的一种。2.卷积层的设计:VGG-16的卷积层全部采用3x3的卷积核和步长为1的卷积操作,同时在卷积层之后都接有ReLU激活函数。这种设计的好处在于,通过堆叠多个较小的卷积核,可以提高网络的非线性建模能力,同时减少了参数数量,从而降低了过拟合的风险。4.全连接层:VGG-16在卷积层之后接有3个全连接层,最后一个全连接层输出与类别数相对应的向量,用于进行分类。VGG-16包含了16个隐藏层(13个卷积层和3个全连接层),故称为VGG-16。原创 2024-09-22 11:30:00 · 671 阅读 · 0 评论 -
第P5周:运动鞋识别
● 第三步:通过split()函数对data_paths中的每个文件路径执行分割操作,获得各个文件所属的类别名称,并存储在classeNames中。● 第二步:使用glob()方法获取data_dir路径下的所有文件路径,并以列表形式存储在data_paths中。● step_size(int):是学习率衰减的周期,每经过每个epoch,做一次学习率decay。● optimizer(Optimizer):是之前定义好的需要优化的优化器的实例名。● gamma(float):学习率衰减的乘法因子。原创 2024-04-30 18:17:50 · 775 阅读 · 1 评论 -
第P3周:Pytorch实现天气识别
大家注意一下在卷积层和全连接层之间,我们可以使用之前是torch.flatten()也可以使用我下面的x.view()亦或是torch.nn.Flatten()。更具体地说,损失函数loss是由模型的所有权重w经过一系列运算得到的,若某个w的requires_grads为True,则w的所有上层参数(后面层的权重w)的.grad_fn属性中就保存了对应的运算,然后在使用loss.backward()后,会一层层的反向传播计算每个w的梯度值,并保存到该w的.grad属性中。原创 2024-04-19 00:00:50 · 750 阅读 · 0 评论 -
第P2周:CIFAR10彩色图片识别
更具体地说,损失函数loss是由模型的所有权重w经过一系列运算得到的,若某个w的requires_grads为True,则w的所有上层参数(后面层的权重w)的.grad_fn属性中就保存了对应的运算,然后在使用loss.backward()后,会一层层的反向传播计算每个w的梯度值,并保存到该w的.grad属性中。熟悉了CNN网络,熟悉torch.nn.Conv2d()、torch.nn.Linear()、torch.nn.MaxPool2d()这三个函数及其参数,初步了卷积层、池化层的计算和网络结构图。原创 2024-04-10 14:11:39 · 714 阅读 · 1 评论 -
第P1周:Pytorch实现mnist手写数字识别
更具体地说,损失函数loss是由模型的所有权重w经过一系列运算得到的,若某个w的requires_grads为True,则w的所有上层参数(后面层的权重w)的.grad_fn属性中就保存了对应的运算,然后在使用loss.backward()后,会一层层的反向传播计算每个w的梯度值,并保存到该w的.grad属性中。(pred.argmax(1) == y).type(torch.float).sum().item()表示计算预测正确的样本数量,并将其作为一个标量值返回。28=784的向量。原创 2024-04-03 11:20:15 · 1074 阅读 · 1 评论 -
第P4周:猴痘病识别
在PyTorch的ImageFolder数据加载器中,根据数据集文件夹的组织结构,每个文件夹代表一个类别,class_to_idx字典将每个类别名称映射为一个数字索引。● 第三步:通过split()函数对data_paths中的每个文件路径执行分割操作,获得各个文件所属的类别名称,并存储在classeNames中。● 第二步:使用glob()方法获取data_dir路径下的所有文件路径,并以列表形式存储在data_paths中。● 第四步:打印classeNames列表,显示每个文件所属的类别名称。原创 2024-04-25 23:57:02 · 956 阅读 · 1 评论