Pytorch学习
文章平均质量分 80
AI Chen
悟已往之不谏,知来者之可追。实迷途其未远,觉今是而昨非。
展开
-
Pytorch学习笔记
Pytorch学习笔记,参考蓝桥云.Pytorch学习笔记01----张量生成Pytorch学习笔记02----梯度的求解Pytorch学习笔记03----反向传播算法backward()Pytorch学习笔记04----梯度下降算法Pytorch学习笔记05----损失函数与优化器Pytorch学习笔记06----数据加载器...原创 2022-04-05 22:54:29 · 435 阅读 · 0 评论 -
Pytorch的Dataloader加载图片并显示[自学笔记]
利用pytorch写一个数据类,可以加载数据图片并显示。在datasets文件夹下有两个子文件夹,分别是SegmentationClass用以存放语义分割数据的mask原创 2022-05-09 15:31:20 · 4412 阅读 · 1 评论 -
Pytorch搭建AlexNet网络进行【自制】数据集识别
本讲目标: 介绍Pytorch搭建AlexNet网络的流程。参考Pytorch搭建ALexNet网络1.AlexNet网络介绍2.Pytorch框架搭建AlexNet2.1搭建模型 model.py2.2搭建训练过程 train.py2.3搭建预测过程 predict.py1.AlexNet网络介绍 AlexNet网络诞生于2012年,当年ImageNet竞赛的冠军,Top5错误率为16.4% 借鉴点:使用了Relu激活函数,提升训练速度;使用了Dropout, 防止过拟合。使用了图像增强,原创 2022-04-25 16:25:38 · 465 阅读 · 0 评论 -
Pytorch搭建LeNet5网络
本讲目标: 介绍Pytorch搭建LeNet5网络的流程。Pytorch八股法搭建LeNet5网络1.LeNet5网络介绍2.六步法训练LeNet5网络2.1搭建LeNet网络2.2测试LeNet网络输出2.3下载数据集2.4加载并配置网络2.5训练并保存网络2.6测试图片1.LeNet5网络介绍 借鉴点:共享卷积核,减少网络参数(通过共享卷积参数,避免了像全连接层那样存在大量参数)。 LeNet由Yann LeCun于1998年提出,是卷积网络的开篇之作。LeNet-5提出以后,卷积神经网原创 2022-04-24 16:21:56 · 2761 阅读 · 3 评论 -
Pytorch学习笔记12----基于卷积神经网络的 CIFAR10 识别
CIFAR10 是由 Hinton 的两个大弟子 Alex Krizhevsky、Ilya Sutskever 收集的一个用于普适物体识别的数据集。本文将利用 PyTorch 建立一个卷积神经网络模型对 CIFAR10 中的数据集进行分类和识别。基于卷积神经网络的 CIFAR10 识别0.数据集介绍1.导入功能包2.下载数据集3.制作训练集和测试集4.查看图片5.建立卷积神经网络6.建立卷积神经网络7.开始训练8.保存/加载参数9.测试网络0.数据集介绍 CIFAR-10 数据集由 10 个类的原创 2022-04-06 16:03:37 · 4692 阅读 · 2 评论 -
Pytorch学习笔记10----激活函数及可视化
本文主要讲解了深度学习中常用的激活函数的各种形式以及如何利用 PyTorch 对其进行实现。最后利用学到的激活函数,建立了一个简单的三层神经网络模型。激活函数及可视化一、激活函数1.Sigmoid函数2.Tanh函数3.ReLU函数二、神经网络的建立一、激活函数 激活函数是深度学习中一个很重要的概念。在神经网络中,我们经常使用线性运算来解决线性问题。但是日常生活中的大多数问题,都不是简单的线性问题。为此,我们引入了激活函数来解决非线性的问题。 常见的激活函数有 Sigmoid 函数(又名 L原创 2022-04-06 14:25:46 · 2237 阅读 · 0 评论 -
Pytorch学习笔记07----数据预处理
torchvision.transforms 是一个包含了常用的图像变化方法的工具包,该工具包主要用于图像预处理、数据增强等工作之中。本文将详细介绍 torchvision.transforms 中常用的数据处理函数。数据预处理一、预处理的批量操作1.Compose2.葡萄酒数据预处理二图像预处理1.transforms.CenterCrop2.transforms.ColorJitter3.torchvision.transforms.Grayscale(num_output_channels )4原创 2022-04-06 14:08:49 · 908 阅读 · 0 评论 -
Pytorch学习笔记09----Softmax与交叉熵函数
本文主要讲解了分类问题中的二分类问题和多分类问题之间的区别,以及每种问题下的交叉熵损失的定义方法。由于多分类问题的输出为属于每个类别的概率,要求概率和为 1 。因此,我们还介绍了如何利用 Softmax 函数,处理神经网络的输出,使其满足损失函数的格式要求。Softmax与交叉熵函数一、二分类问题和多分类问题1.二分类问题2.多分类问题3.Softmax二、损失函数1.葡萄酒的种类预测2.交叉熵损失函数一、二分类问题和多分类问题1.二分类问题 表示分类任务有两个类别。比如我们想要识别一副图是否原创 2022-04-06 14:00:30 · 3270 阅读 · 0 评论 -
Pytorch学习笔记06----数据加载器
数据是深度学习的基础,我们解决的大多数深度学习问题都是需要数据的。而每一种深度学习框架都对数据的格式有自己的要求,因此,本文主要讲解了 PyTorch 对输入数据的格式要求,以及如何将现实中的数据处理成 PyTorch 能够识别的数据集合。数据加载器一 、数据的分批二、MNIST 的分批->原始数据集加载三、葡萄酒数据的分批->自定义数据集加载一 、数据的分批 由于深度学习中的数据量一般都是极大的,我们无法一次性将所有数据全部加载到内存中。因此,在模型训练之前,一般我们都会对训练集进行分批,将数原创 2022-04-05 13:42:18 · 1305 阅读 · 2 评论 -
Pytorch学习笔记05----损失函数与优化器
在前文,我们初步完成了梯度下降算法求解线性回归问题的实例。在这个过程中,我们自己定义了损失函数和权重的更新,其实 PyTorch 也为我们直接定义了相应的工具包,使我们能够简洁快速的实现损失函数、权重的更新和梯度的求解。损失函数与优化器一、模型的内置函数1.损失函数 torch.nn.MSELoss()2.优化器 torch.optim二、模型的建立1.定义线性模型 Linear2.定义优化器和损失函数3.模型的训练三、总结import torchimport torch.nn as nn一、原创 2022-03-30 17:00:06 · 2498 阅读 · 1 评论 -
Pytorch学习笔记04----梯度下降算法
本文主要对梯度下降算法的基本原理进行了讲解,然后使用手写梯度下降算法解决了线性回归问题。最后对 PyTorch 中的反向传播函数进行了讲解并利用该函数简明快速的完成了损失的求导与模型的训练。梯度下降算法一、人工梯度下降算法1.线性回归问题2.梯度下降算法3.人工实现梯度下降算法二、利用 PyTorch 实现梯度下降算法一、人工梯度下降算法 我们使用梯度下降算法来对线性回归问题进行求解。1.线性回归问题 现行回归问题其实就是寻找一条合适的直线(y=ωxy=\omega xy=ωx)用以表示所原创 2022-03-30 00:04:09 · 2429 阅读 · 0 评论 -
Pytorch学习笔记11----搭建全连接层实现手写数字识别
本文将利用之前学到的 PyTorch 的相关知识,建立一个全连接神经网络模型,用于识别手写字符。通过这个小demo完成数据集的预处理、数据加载器的生成、优化器的定义、损失的定义、全连接神经网络的搭建、训练与测试等过程。搭建全连接层实现手写数字识别一、import功能包二、处理train、test数据集三、查看几副图片四、model模型建立五、配置优化器六、开始训练七、查看精度import torchdevice = torch.device('cuda' if torch.cuda.is_ava原创 2022-03-28 16:54:06 · 1918 阅读 · 0 评论 -
Pytorch学习笔记03----反向传播算法
反向传播算法是训练神经网络的最常用且最有效的算法。本文将阐述反向传播算法的基本原理,并用 PyTorch 框架快速的实现该算法。反向传播算法一、正向传播算法二、反向传播一、正向传播算法 在讲解反向传播算法之前,让我们先来讲解一下正向传播。 神经网络的本质其实就是一个非常复杂的且具有大量参数的复合函数,我们将数据作为函数(网络)的输入,将结果作为函数(网络)的输出。 正向传播算法其实就是通过函数的输入以及神经网络(一个复杂的复合函数),得到函数的输出的过程。我们可以使用一个简单的例子,如下原创 2022-03-28 15:23:04 · 541 阅读 · 0 评论 -
Pytorch学习笔记02----梯度的求解
本文讲解梯度的定义和求解方式,然后引入 PyTorch 中的相关函数,完成张量的梯度定义、梯度计算、梯度清空以及关闭梯度等操作。梯度的求解一、梯度计算1.requires_grad2.backward3.复合函数求导二、停止张量的梯度计算1.x.requires_grad_(False)2.x.detach()3. with torch.no_grad()三、梯度的清空1.变量梯度清零x.grad.zero_()2.优化器梯度清零optimizer.zero_grad()import torch原创 2022-03-28 14:49:17 · 2309 阅读 · 0 评论 -
Pytorch学习笔记01----张量生成
本文主要讲解张量的定义,以及如何使用 PyTorch 完成张量的加、减、乘、除、切片和重塑等操作,以及如何将变量定义到GPU中。张量生成一、张量的创建1.torch.empty2.torch.rand3.torch.zeros\ones4.x.dtype5.torch.tensor6.requires_grad二、张量的四则运算1.张量的加法2.张量的减法3.张量的乘法4.张量的除法三、张量的切片四、张量的重塑五、NumPy 与 Tensor1.Tensor2NumPy2.NumPy2Tensor六、GP原创 2022-03-28 13:42:08 · 1267 阅读 · 0 评论