pytorch入门
文章平均质量分 51
pytorch入门
忧郁小薯条_
这个作者很懒,什么都没留下…
展开
-
PyTorch学习笔记(一)——Dataset
该类是一个抽象类,所有的数据集想要在数据与标签之间建立映射都需要继承这个类。所有的子类都需要重写__getitem__方法,该方法根据索引值获取每一个数据并且获取其对应的Label。提供一种方式,获取需要的数据和对应的label 值,并完成编号。用处:有时候数据集不足就需要仿造数据集,需要将仿造数据集和真实数据集结合后训练。借助os模块,从数据集路径中,获取所有文件的文件名,存储在一个列表中。文件夹名就是label,里面放的就是相应label的图片。类的对象,展开还可以查看这个对象的属性,比如size。原创 2023-04-12 15:31:52 · 336 阅读 · 3 评论 -
PyTorch学习笔记(二)——TensorBoard
1、训练过程中loss是如何变化的,是否正常或是否按预想的变化,选择什么样的模型2、模型在不同阶段的输出。原创 2023-04-19 10:10:16 · 288 阅读 · 0 评论 -
PyTorch学习笔记(三)——Transforms
对图像进行一些变换。原创 2023-04-29 17:27:56 · 112 阅读 · 0 评论 -
PyTorch学习笔记(四)——torchvision中的数据集
如:COCO 目标检测、语义分割;MNIST 手写文字;CIFAR 物体识别输入输出模块,不常用提供一些比较常见的神经网络,有的已经预训练好,如分类、语义分割、目标检测、视频分类torchvision提供的一些比较少见的特殊的操作,不常用提供一些常用的小工具,如TensorBoard。原创 2023-04-29 20:01:00 · 373 阅读 · 0 评论 -
PyTorch学习笔记(五)——DataLoader
大部分有默认值,实际中只需要设置少量的参数即可以扑克牌举例。原创 2023-04-29 23:08:46 · 82 阅读 · 0 评论 -
PyTorch学习笔记(六)——卷积层
torch.nn 是 torch.nn.functional 的封装,可先查看torch.nn.functional。使用 torch.reshape 函数改变维度。64张输入图像,卷积后的图像数64×2。神经网络提供基本骨架)原创 2023-04-30 14:43:05 · 181 阅读 · 0 评论 -
PyTorch学习笔记(七)——最大池化层
最大池化的目的是保留输入的特征,同时把数据量减小(数据维度变小),对于整个网络来说,进行计算的参数变少,会训练地更快。如上面案例中输入是5x5的,但输出是3x3的,甚至可以是1x1的。类比1080p的视频为输入图像,经过池化可以得到720p,也能满足绝大多数需求,传达视频内容的同时,文件尺寸会大大缩小。池化一般跟在卷积后,卷积层是用来提取特征的,一般有相应特征的位置是比较大的数字,最大池化可以提取出这一部分有相应特征的信息。池化不影响通道数,池化后一般再进行非线性激活。原创 2023-04-30 15:30:55 · 885 阅读 · 0 评论 -
PyTorch学习笔记(八)——非线性激活
非线性激活:给神经网络引入一些非线性的特征。非线性激活越多,才能训练出符合各种曲线或特征的模型(提高泛化能力)Sigmoid。原创 2023-04-30 16:01:13 · 67 阅读 · 0 评论 -
PyTorch学习笔记(九)——线性层
【代码】PyTorch学习笔记(九)——线性层。原创 2023-04-30 16:57:14 · 52 阅读 · 0 评论 -
PyTorch学习笔记(十)——搭建小实战
对 CIFAR10 进行分类的简单神经网络。使用Sequential会方便,简化代码。原创 2023-04-30 18:32:56 · 45 阅读 · 0 评论 -
PyTorch学习笔记(十一)——损失函数
适用于训练分类问题,有C个类别。原创 2023-05-01 16:32:59 · 100 阅读 · 0 评论 -
PyTorch学习笔记(十二)——优化器
当使用损失函数时,可以调用损失函数的 backward,得到反向传播,反向传播可以求出每个需要调节的参数对应的梯度,有了梯度就可以利用优化器,优化器根据梯度对参数进行调整,以达到整体误差降低的目的。优化器算法:不同算法前两个参数:params、lr 都是一致的,后面的参数不同学习速率不能太大(太大模型训练不稳定),也不能太小(太小模型训练慢),一般建议先采用较大学习速率,后采用较小学习速率。原创 2023-05-01 17:13:56 · 253 阅读 · 0 评论 -
PyTorch学习笔记(十三)——现有网络模型的使用及修改
利用现有网络去改动它的结构,避免写 vgg16。很多框架会把 vgg16 当做前置的网络结构,提取一些特殊的特征,再在后面加一些网络结构,实现功能。以分类模型的VGG为例。原创 2023-08-17 16:56:09 · 1055 阅读 · 0 评论 -
PyTorch学习笔记(十四)——网络模型的保存与读取
两种方式保存和加载模型。原创 2023-08-18 15:22:53 · 213 阅读 · 0 评论 -
PyTorch学习笔记(十五)——完整的模型训练套路
以 CIFAR10 数据集为例,分类问题(10分类)原创 2023-08-19 16:55:46 · 326 阅读 · 0 评论 -
PyTorch学习笔记(十六)——利用GPU训练
网络模型、损失函数、数据(包括输入、标注)找到以上三种变量,调用它们的.cuda(),再返回即可比较CPU和GPU的训练时间:查看GPU信息:在 终端里输入nvidia-smi使用Google Colab:Google 为我们提供了一个免费的GPU修改 ——> 笔记本设置 ——> 硬件加速器选择GPU(每周免费使用30h)原创 2023-08-20 14:21:01 · 2056 阅读 · 0 评论 -
PyTorch学习笔记(十七)——完整的模型验证(测试,demo)套路
预测错误的原因可能是训练次数不够多。采用GPU训练的模型,两种方法。原创 2023-08-20 16:00:18 · 930 阅读 · 0 评论