- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
(p1)
在本节课我们要进行实践任务1:FashionMNIST数据集处理,
FashionMNIST数据集是一个广泛使用的图像分类数据集,
用于替代经典的手写数字数据集MNIST。
它包含了60,000张用于训练的图像和10,000张用于测试的图像。
每张图像都是单通道的黑白图像,大小为28*28像素。这些图像分属于10个不同的时装类别,
包括T恤、裤子、套头衫、连衣裙、外套、凉鞋、衬衫、运动鞋、包和踝靴。
在进行实践任务之前,我们需要准备好数据集。
由于FashionMNIST数据集已经被预先划分为训练集和测试集,
我们可以直接使用这些数据。训练集包含60,000张图像,测试集包含10,000张图像。
(p2)
首先我们导入必要的包
os模块:用于访问操作系统功能的接口,可以用来读取和修改文件路径等操作。
在我们的实践任务中,可以使用os模块来管理数据集文件的路径。
numpy模块:提供了高性能的数值计算功能,用于处理数据和进行矩阵运算等操作。
在卷积神经网络中,我们通常会使用numpy数组来表示图像数据。
pandas模块:提供了数据处理和分析工具,用于读取和处理数据集等操作。
在我们的实践任务中,可以使用pandas模块来加载和预处理数据集。
torch模块:PyTorch的核心模块,提供了张量运算、自动求导等功能。
我们将使用torch模块来构建和训练卷积神经网络模型。
torch.optim模块:提供了各种优化器,用于训练神经网络模型。
我们将使用torch.optim模块来选择和配置优化器。
torch.nn模块:提供了各种神经网络层和损失函数等模块,用于构建神经网络模型。
我们将使用torch.nn模块来定义卷积神经网络的结构。
torch.utils.data模块:提供了数据加载和预处理的工具,用于构建数据集和数据加载器等操作。
我们将使用torch.utils.data模块来构建FashionMNIST数据集的加载器。
(p3)
在这次的实践任务中,我们需要配GPU
配置GPU,这里有两种方式
第一段代码使用了torch.device()函数,
它会根据当前设备是否支持CUDA来选择使用CPU还是GPU。
如果支持CUDA,则使用cuda:1设备,否则使用cpu设备。
使用.to()方法将变量移动到指定设备上,可以方便地进行GPU加速的训练和推断。
第二段代码它的作用是设置CUDA_VISIBLE_DEVICES环境变量,
指定可用的GPU设备编号为0号设备。
这样就可以在使用GPU训练时,限制只使用指定的GPU设备,而不是使用所有可用的GPU设备。
(p4)
接下来,我们需要配置一些超参数
batch_size:每次训练时选择的样本数,对于较大的数据集,可以适当增大batch_size以提高训练效率。
num_workers:数据加载器使用的进程数,对于Windows用户,应设置为0,否则会出现多线程错误。
lr:学习率,控制模型参数更新的步长,过大或过小都会影响模型的训练效果。
epochs:总的训练轮数,每个epoch表示一次完整的训练过程,包括前向传播、反向传播和参数更新等步骤。
这些超参数的选择需要根据具体的任务和数据集进行调整,可以通过多次实验来寻找最优的超参数组合。
(p5)
完成超参数设置后,我们再设置相应的数据变换
这段代码使用了PyTorch中的transforms模块,
用于对图像进行预处理和数据增强操作。
其中,Compose()函数可以将多个变换组合在一起,依次进行操作。
具体来说,这里定义了一个data_transform对象,它包括了两个变换:
ToTensor():将图像转换为张量,方便进行后续的计算和处理。
Normalize():对张量进行标准化处理,将像素值范围从[0,1]变为[-1,1],可以加速模型的收敛和提高模型的稳定性。
这些预处理操作可以有效地提高模型的训练效果和泛化能力,同时还可以避免一些常见的问题,例如梯度消失和梯度爆炸等。
(p6)
接下来,我们正式开始读取数据
这段代码使用了PyTorch中的torchvision.datasets模块和torch.utils.data.DataLoader模块,
用于创建数据集和数据加载器,方便进行批量训练和测试。
具体来说,这里使用了FashionMNIST数据集,
它包括了10个类别的衣服图片,每个类别有6000张训练图片和1000张测试图片。
通过datasets.FashionMNIST函数创建训练集和测试集,并通过transform参数指定了预处理操作。
然后,使用DataLoader函数创建训练集和测试集的数据加载器,其中包括了一些参数:
batch_size:每次训练时选择的样本数,可以与之前定义的ba
您可能关注的文档
- 深度学习案例教程 教案全套 钱月钟 第1--9章 深度学习简介--语音识别.docx
- 深度学习案例教程 教案1.3 深度学习的发展.docx
- 深度学习案例教程 教案1.1 人工智能与机器学习.docx
- 深度学习案例教程 教案1.6 深度学习的应用领域-自然语言的处理.docx
- 深度学习案例教程 教案1.2 深度学习定义及分类.docx
- 深度学习案例教程 教案1.5 深度学习的应用领域-计算机视觉.docx
- 深度学习案例教程 教案1.4 深度学习的应用领域-语音识别.docx
- 深度学习案例教程 教案1.8 深度学习框架介绍.docx
- 深度学习案例教程 教案1.7 深度学习的特点.docx
- 深度学习案例教程 教案2.2PyTorch安装和Pycharm安装.docx
文档评论(0)