- 博客(18)
- 收藏
- 关注
原创 ImageFolder
torchvision.datasets.ImageFolder是PyTorch中用于加载数据集(异于前几次使用的MNIST、FashionMNIST数据集)的使用工具类,特别适合按类别组织的自制数据集。加载的数据集目录文件格式如下参数方面root:图片存储的根目录,即各类别文件夹所在目录的上一级目录transform:对图片进行预处理的操作,原始图片作为输入,返回一个处理之后的图片(与其他数据集打开时的transform用法一样)
2025-06-20 21:22:21
520
原创 FashionMNIST数据集
FashionMNIST数据集是Zalando的研究论文中提出的一个数据集,其中训练数据集含有60000个实例,测试数据集含有10000个数据集。
2025-06-20 20:25:00
476
原创 关于LeNet训练模型的验证
LeNet模型学习的末尾,由于训练模型对如下图所示类型的数字(0~9十个数字)逐个进行预测,最初的准确率仅为10%,后经过对训练轮数epochs、DataLoader中的batch_size、学习速率lr参数进行调整,在调整为batch_size=256 lr=0.01(还是原来的大小,调整为0.01时准确率又下降了),epochs=40时,准确率达到目前验证的最大值50%,但相对于训练过程中的99.6%差距不是一点了。但并没有看出有什么问题。
2025-06-17 17:42:52
249
2
原创 MNIST数据集
MNIST(Modified National Institute of Standards and Technology database)是机器学习领域中最经典的手写数字图像数据集之一,常被用作图像分类任务的入门级数据集,也称为“机器学习的Hello World”
2025-06-17 17:39:33
674
原创 训练模型中的部分参数
首先要确保batch_size不会让你的内存溢出。一般来说,可以先尝试应该中等大小的batch_size,比如64or128对于小型数据集,使用较小的batch_size较好;对于大型数据集,则可以尝试使用较大的batch_size通常情况下,当增大batch_size时,需要相应地提高学习率,以保持训练的稳定性batch_size是一个重要的超参数,可以通过交叉验证等方法来找到最适合模型的batch_size值主要还是根据自己电脑的性能和数据集特点来选择合适的batch_size值。
2025-06-15 18:51:23
557
原创 经典模型学习(1):LeNet
LeNet 神经网络是最早成功应用于实际场景的卷积神经网络(CNN)之一,由 Yann LeCun (他同时也是卷积神经网络(CNNConvolutional Neural Networks)之父)等人于 1998 年提出,在手写数字识别领域具有里程碑意义,为后续深度学习的发展奠定了重要基础。LeNet的实现确立了CNN的结构,现在神经网络中的许多内容在LeNet的网络结构中都能看到,例如:卷积层、Pooling、ReLU层。
2025-06-15 17:43:01
1023
原创 完整的模型验证套路
代码中对image进行了GPU训练,这是因为保存的模型为GPU训练之后的,如果输入的image为CPU上的,则会运行报错。使用的为训练完第十次的网络模型对下载图片进行检测,也是侥幸预测成功了(3:cat)完整的模型验证(测试,demo)套路:利用训练好的模型,然后给它通过输入。
2025-06-14 19:04:38
248
原创 GPU训练模型
流程:首先在代码前面定义一个训练使用的设备device(设置cuda、cpu),之后便于方式一差不多,找到网络模型、输入的数据、损失函数,调用.to(device)方法。导入time模块,调用time()方法获得训练模型前后的时间,得到训练过程所消耗的时间,对比普通训练模型与GPU训练模型的时间差距。在设置训练设备device时,也可以通过if语句判断cuda是否可用,来决定设备类型(即优先GPU训练否则CPU)在训练模型中,找到三个变量,网络模型、输入的数据、损失函数,并调用cuda()方法,即可。
2025-06-14 18:17:55
246
原创 完整的模型训练套路
例如:(二分类问题)现将多个数据输入到神经网络模型中,得到的输出实际是[0.1, 0.2]这种结果,每个数为预测图片的特征,根据概率大小可知模型预测该输入的类别为1,而实际的target为0,在这个预测结果与实际target比较的过程实现中,PyTorch提供了一个argmax方法,这个方法可求出每个结果中的最大值所在的位置(即可获得预测类别的下标,并能与target进行比对),将每组预测成功的数据个数相加即可求出准确率相关的数据。model.py文件写神经网络的搭建。train.py 写训练模型的步骤。
2025-06-14 17:33:41
186
原创 网络模型的保存与读取
self.flatten = Flatten() # 数据尺寸 1024=64*4*4# 经过Flatten层之后 还需经过线性层处理return x当我们直接在一个新的.py文件中读取保存的模型时,会报错属性错误:无法在模块main(自 D:\exercise\pytorch\main.py 文件)上获取属性 NetWork主要原因是找不到该模型的类,因此方式一读取自定义的神经网络时需要写上类的定义self.flatten = Flatten() # 数据尺寸 1024=64*4*4。
2025-06-14 13:38:30
310
原创 PyTorch提供的网络模型
进入PyTorch官方,进入torchvision->Models and pre-trained weights。
2025-06-14 13:01:13
490
原创 神经网络-Neural NetWork
nn.Module是所有神经网络模块的基类,其作用主要是构建和组成复杂的神经网络架构。主要作用:1、借助继承nn.module,能够自定义神经网络层和模型。要自定义模型,需要重写__init__方法来定义网络组件,同时重写forward方法来规定数据的前向传播路径。从PyTorch打开其官方文档,可查看该基类中含有的各种处理方式其中Containers为torch.nn提供了一个骨架(结构),我们只需向这个结构中放入不同的内容,从而组成一个神经网络Containers下方的是要往骨架中填充的内容。
2025-06-13 20:44:39
1130
原创 DataLoader
通过Dataset提取出的仍是一种散开形式的数据,对此通常需要对这些数据进行一种打包操作,DataLoader可以完成这种功能,即批量整合数据DataLoader:将全部数据通过batch_size的大小进行整理(每组数据的数量为batch_size大小) 例如batch_size为3时,DataLoader可将数据每三个整合成一个数据 (为后面的神经网络提供不同的数据形式)
2025-06-10 21:21:11
615
原创 torchvision
torchvision是PyTorch中的一个重要的扩展库,主要用于计算机视觉任务,提供丰富的工具和资源,其核心功能包括:预训练模型:提供AlexNet、VGG、ResNet、Inception等经典神经网络的预训练权重,可直接用于迁移学习。数据集:内置有MNIST、EMNIST、ImageNet等常用数据集,支持在线直接下载和加载。图像变换:包含resize、crop、normlize等常用数据预处理方法。视觉工具:提供ImageFolder数据加载器、模型可视化和目标检测/分割的实用函数。
2025-06-10 16:33:46
728
原创 transform
1、在使用前先要关注输入输出(需要输入的数据的数据类型、得到的输出的数据的数据类型)2、多看官方文档3、实例化对象时的所需参数、参数类型4、不知道数据类型的时候、不知道返回值的时候,print或者print(type())或者debug或者查资料。
2025-06-10 16:33:33
777
原创 Tensorboard
Tensorboard是一个可视化的工具,能够将模型等程序运行的过程中的各种数据展现出来。借助Tensorboard我们可以实现实时监控训练过程中的各项指标(损失值、准确率等标量数据),能够以折线图的形式呈现,让训练趋势一目了然。可以在Tensorboard中查看输入的图像、生成的图像结果,以及音频波形等原始数据,增强对数据的直观认识。
2025-06-09 21:44:20
960
原创 Dataset
PyTorch读取数据,涉及到两个类,其中一个即为Dataset通过继承Dataset类class MyData(Dataset),实现__len__和__getitem__方法,可以自定义自己的数据集类以适应不同的数据源和格式蚂蚁蜜蜂/练手数据集:链接:5suq。
2025-06-09 17:58:27
663
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅