Pytorch
文章平均质量分 93
处女座_三月
增长见识, 去见识更加广阔的世界
展开
-
pytorch 实现图像风格迁移(Pytorch 28)
下面我们来描述风格迁移的损失函数。它由内容损失、风格损失和全变分损失3部分组成。内容损失,与线性回归中的损失函数类似,内容损失通过平方误差函数衡量合成图像与内容图像在内容特征上的差异。平方误差函数的两个输入均为 extract_features 函数计算所得到的内容层的输出。# 我们从动态计算梯度的树中分离目标:# 这是一个规定的值,而不是一个变量。风格损失,风格损失与内容损失类似,也通过平方误差函数衡量合成图像与风格图像在风格上的差异。原创 2024-06-10 20:57:52 · 1350 阅读 · 0 评论 -
pytorch 实现语义分割(Pytorch 27)
我们通过继承高级API提供的Dataset类, 自定义了一个语义分割数据集类VOCSegDataset。通 过 实 现__getitem__函数,我们可以任意访问数据集中索引为idx的输入图像及其每个像素的类别索引。由于数据集中有些图像的尺寸可能小于随机裁剪所指定的输出尺寸,这些样本可以通过自定义的filter函数移除掉。此外,我们还定义了normalize_image函数,从而对输入图像的RGB三个通道的值分别做标准化。#@save"""一个用于加载VOC数据集的自定义数据集"""原创 2024-06-10 20:28:46 · 1811 阅读 · 1 评论 -
目标检测(R-CNN)系列(Pytorch 26)
除了之前描述的单发多框检测之外,区域卷积神经网络(region‐based CNN或regions with CNN features,)(Girshick et al., 2014)也是将深度模型应用于目标检测的开创性工作之一。下面介绍R‐CNN及其一 系列改进方法:快速的R‐CNN()(Girshick, 2015)、更快的R‐CNN(Faster R‐CNN)(Ren et al., 2015)和掩码R‐CNN(限于篇幅,我们只着重介绍这些模型的设计思路。原创 2024-06-10 19:11:19 · 1149 阅读 · 0 评论 -
Pytorch 实现目标检测三(Pytorch 25)
目标检测有两种类型的损失。第一种有关锚框类别的损失:我们可以简单地复用之前图像分类问题里一直使 用的交叉熵损失函数来计算;第二种有关正类锚框偏移量的损失:预测偏移量是一个回归问题。但是,对于 这个回归问题,我们在这里不使用 3.1.3节中描述的平方损失,而是使用L1范数损失,即预测值和真实值之差的绝对值。掩码变量bbox_masks令负类锚框和填充锚框不参与损失的计算。最后,我们将锚框类别和偏移量的损失相加,以获得模型的最终损失函数。我们可以沿用准确率评价分类结果。原创 2024-06-10 18:44:52 · 1098 阅读 · 0 评论 -
Pytorch 实现目标检测二(Pytorch 24)
下面通过一个具体的例子来说明锚框标签。我们已经为加载图像中的狗和猫定义了真实边界框,其中第一个 元素是类别(),其余四个元素是左上角和右下角的(x, y)轴坐标(范围介于0和1之间)。我 们还构建了五个锚框,用左上角和右下角的坐标进行标记:A0, . . . , A4(索引从0开始)。然后我们在图像中 绘制这些真实边界框和锚框。使用上面定义的multibox_target函数,我们可以根据狗和猫的真实边界框,标注这些锚框的分类和偏移量。在这个例子中,背景、狗和猫的类索引分别为0、1和2。原创 2024-06-09 22:40:33 · 1795 阅读 · 2 评论 -
Pytorch 实现目标检测一(Pytorch 23)
∈ R na×nb,其中第i行、第j列的元素xij是锚框Ai和真实边界框Bj的IoU。该算法包含以下步骤。原创 2024-06-09 19:59:30 · 1726 阅读 · 4 评论 -
Pytorch 模型迁移学习(Pytorch 22)
我们使用在ImageNet数据集上预训练的ResNet‐18作为源模型。我们指定 pretrained=True 以自动下载预训练的模型参数。如果首次使用此模型,则需要连接互联网才能下载。预训练的源模型实例包含许多特征层和一个输出层fc。此划分的主要目的是促进对除输出层以外所有层的模型参数进行微调。下面给出了源模型的成员变量fc。在ResNet的全局平均汇聚层后,全连接层转换为ImageNet数据集的1000个类输出。之后,我们构建一个新的神经网络作为目标模型。它的定义方式与预训练源模型的定义方式相同,原创 2024-06-08 22:50:02 · 992 阅读 · 0 评论 -
Pytorch 机器视觉中图形增强(Pytorch 21)
无论是,许多计算机视觉领域的应用都与我们当前和未来的生活密切相关。可以说,最先进的计算机视觉应用与深度学习几乎是不可分割的。我们研究了计算机视觉中常用的各种卷积神经网络,并将它们应用到简单的图像分类任务中。本章开头,我们将介绍两种可以改进模型泛化的方法,即,并将它们应用于图像分类。由于深度神经网络可以有效地表示多个层次的图像,因此这种分层表示已成功用于各种计算机视觉任务,例如(semantic segmentation)和。原创 2024-06-02 15:49:03 · 689 阅读 · 0 评论 -
深度学习中的多GPU训练(Pytorch 20)
下面详细介绍如何从零开始并行地训练网络,这里需要运用小批量随机梯度下降算法。后面我还讲介绍如何使用高级API并行训练网络。我们从一个简单的计算机视觉问题和一个稍稍过时的网络开始。这个网络有多个卷积层和汇聚层,最后可能 有几个全连接的层,看起来非常类似于LeNet (LeCun et al., 1998)或AlexNet (Krizhevsky et al., 2012)。原创 2024-05-26 21:31:09 · 1332 阅读 · 0 评论 -
深度学习中的优化算法二(Pytorch 19)
尽管梯度下降(gradient descent)很少直接用于深度学习,但了解它是理解下一节的关键。例如,由于学习率过大,优化问题可能会发散,这种现象早已在梯度下降中出现。同样地,(preconditioning)是梯度下降中的一种常用技术,还被沿用到更高级的算法中。让我们从简单的一维梯度 下降开始。原创 2024-05-25 17:35:46 · 1131 阅读 · 0 评论 -
深度学习中的优化算法一(Pytorch 18)
使我们能够继续更新模型参数。这就像在训练集上评估一样。事实上,任何满足于将优化视为黑盒装置,以在简 单的设置中最小化目标函数的人,都可能会知道存在着一系列此类“咒语”(名称如“SGD”和“Adam”)。但是,为了做得更好,还需要更深入的知识。优化算法对于深度学习非常重要。一方面,训练复杂的深度学 习模型可能需要数小时、几天甚至数周。。另一方面,了解。深度学习中出现的几乎所有优化问题都是非凸的。尽管如此,在凸问题背景下设计和分析算法是非常有启发性的。对于深度学习问题,我们通常会先定义损失函数。。原创 2024-05-18 22:07:10 · 783 阅读 · 0 评论 -
自注意力架构大成者_Transformer(Pytorch 17)
在上节比较了卷积神经网络(CNN)循环神经网络(RNN)和自注意力(self‐attention)。值得注意的是,自注意力同时具有并行计算和最短的最大路径长度这两个优势。因此,使用自注意力来设计深度架构是很有 吸引力的。对比之前仍然依赖循环神经网络实现输入表示的自注意力模型 (Cheng et al., 2016, Lin et al., 2017, Paulus et al., 2017),Transformer模型完全基于注意力机制。原创 2024-05-05 19:47:50 · 1360 阅读 · 1 评论 -
深度学习中的注意力机制二(Pytorch 16)
下面描述的Bahdanau注意力模型将遵循上节中的相同符号表达。这个新的基于注意力的模型与 上节节中的模型相同,只不过之前中的上下文变量c 在任何解码时间步t ′都会被ct ′替换。#@save"""带有注意力机制解码器的基本接口"""@property接下来,让我们在接下来的Seq2SeqAttentionDecoder类中实现带有Bahdanau注意力的循环神经网络解码器。编码器在所有时间步的最终层隐状态,将作为注意力的键和值;上一时间步的编码器全层隐状态,将作为初始化解码器的隐状态;原创 2024-05-05 18:54:10 · 936 阅读 · 1 评论 -
深度学习中的注意力机制一(Pytorch 15)
使用小批量矩阵乘法# queries和attention_weights的形状为(查询个数,“键-值”对个数)# values的形状为(查询个数,“键-值”对个数)接下来,将训练数据集变换为键和值用于训练注意力模型。在带参数的注意力汇聚模型中,任何一个训练样 本的输入都会和除自己以外的所有训练样本的“键-值”对进行计算,从而得到其对应的预测输出。# X_tile的形状:(n_train,n_train),每一行都包含着相同的训练输入。原创 2024-05-05 17:24:05 · 1243 阅读 · 1 评论 -
现代循环神经网络(GRU、LSTM)(Pytorch 14)
现在我们将定义隐状态的初始化函数init_gru_state。定义的nit_rnn_state函数,此函数 返回一个形状为(批量大小,隐藏单元个数)的张量,张量的值全部为零。现在我们准备定义门控循环单元模型,模型的架构与基本的循环神经网络单元是相同的,只是权重更新公式 更为复杂。原创 2024-05-04 22:33:30 · 1697 阅读 · 4 评论 -
循环神经网络完整实现(Pytorch 13)
我们构造一个具有256个隐藏单元的单隐藏层的循环神经网络 层rnn_layer。事实上,我们还没有讨论多层循环神经网络的意义。现在仅需要将多层理解为一层循环神经网络的输出被用作下一层循环神经网络的输入就足够了。通过一个隐状态和一个输入,我们就可以用更新后的隐状态计算输出。我们为一个完整的循环神经网络模型定义了一个RNNModel类。注意,rnn_layer只包含隐藏的 循环层,我们还需要创建一个单独的输出层。#@save"""循环神经网络模型"""原创 2024-05-04 19:43:38 · 1347 阅读 · 0 评论 -
循环神经网络模块介绍(Pytorch 12)
在对序列数据进行 更详细的回顾之后,我们将介绍文本预处理的实用技术。然后,我们将讨论语言模型的基本概念,并将此讨论作为循环神经网络设计的灵感。原创 2024-05-04 18:26:58 · 1114 阅读 · 0 评论 -
常见现代卷积神经网络(ResNet, DenseNet)(Pytorch 11)
小结:在跨层连接上,不同于ResNet中将输入与输出相加,稠密连接网络(DenseNet)在通道维上连结输入 与输出。DenseNet的 主要构建模块是稠密块和过渡层。在构建DenseNet时,我们 需要通过添加过渡层来控制网络的维数,从而再次减少通道的数量。原创 2024-04-21 21:27:14 · 1253 阅读 · 0 评论 -
常见现代卷积神经网络(VGG,NIN,googlenet)(Pytorch 10)
Inception块相当于一个有4条路径的子网络。它通过不同窗口形状的卷积层和最大汇聚层来并行抽取信息,并使用1×1卷积层减少每像素级别上的通道维数从而降低模型复杂度。GoogLeNet将多个设计精细的Inception块与其他层(卷积层、全连接层)串联起来。其中Inception块 的通道数分配之比是在ImageNet数据集上通过大量的实验得来的。GoogLeNet和它的后继者们一度是ImageNet上最有效的模型之一:它以较低的计算复杂度提供了类似 的测试精度。原创 2024-04-20 20:18:27 · 1169 阅读 · 0 评论 -
YOLOv8 目标检测项目实操
YOLOv8是一种尖端的、最先进的(SOTA)模型,建立在以前 YOLO 版本的成功基础上,并引入了新的特性和改进,以进一步提高性能和灵活性。YOLOv8被设计为快速、准确、易于使用,这使它成为一个很好的选择,用于范围广泛的目标检测和跟踪、实例分割、图像分类和姿势估计任务。原创 2024-04-16 17:49:59 · 674 阅读 · 1 评论 -
常见现代卷积神经网络-AlexNet(Pytorch 09)
本章将介绍现代的,许多现代卷积神经网络的研究都是建立在这一章的基础上的。在本章中的每一个模型都曾一度占据主导地位,其中许多模型都是ImageNet竞赛的优胜者。ImageNet竞赛自2010年以来,一直是计算机视觉中监督学习进展的指向标。传统计算机视觉模型VGG虽然深度神经网络的概念非常简单——将神经网络堆叠在一起。但由于不同的网络架构和超参数选择,这些 神经网络的性能会发生很大变化。原创 2024-04-06 14:29:44 · 1391 阅读 · 0 评论 -
卷积神经网络(Pytorch 08)
卷积网络主干的基本元素:这包括卷积层本身、填充(padding)和步幅 (stride)的基本细节、用于在相邻区域汇聚信息的 汇聚层(pooling)、在每一层中多通道(channel)的使用。卷积神经网络 (convolutional neural networks,CNN)是机器学习利用自然图像中一些已知结构的创造性方法。原创 2024-03-31 15:50:37 · 1161 阅读 · 0 评论 -
神经网络 各个模块介绍(Pytorch 07)
在实现我们自定义块之前,我们简要总 结一下每个块必须提供的基本功能。将输入数据作为其前向传播函数的参数。通过前向传播函数来生成输出。请注意,输出的形状可能与输入的形状不同。例如,我们上面模型中的 第一个全连接的层接收一个20维的输入,但是返回一个维度为256的输出。计算其输出关于输入的梯度,可通过其反向传播函数进行访问。通常这是自动发生的。存储和访问前向传播计算所需的参数。根据需要初始化模型参数。从零开始编写一个块。它包含一个多层感知机,其具有256个隐藏单元的隐藏层和一 个10维输出层。原创 2024-03-30 21:12:15 · 1777 阅读 · 0 评论 -
kaggle竞赛(房价预测)(Pytorch 06)
此数据集由Bart de Cock于2011年收集,涵盖了2006‐2010年期间埃姆斯市的房价。下面的download函数用来下载数据集,(默认情况下为../data)中,并返回下载文 件的名称。,另一个是将本书中使用的所有数据集 从DATA_HUB下载到缓存目录中。原创 2024-03-30 19:11:30 · 523 阅读 · 0 评论 -
实现多层神经网络MLP(Pytorch 05)
因为我们忽略了空间结构,所以我们使用reshape将每个二维图像转换为一个长度为num_inputs的向量。因此在这里我们直接使用高级API中的内置函数来计 算softmax和交叉熵损失。原创 2024-03-24 23:03:16 · 1907 阅读 · 2 评论 -
实现线性回归 softmax(Pytorch 04)
给定一个矩阵X,我们可以对所有元素求和(默认情况下)。也可以只求同一个轴上的元素,即 同一列(轴0)或同一行(轴1)。如果X是一个形状为(2, 3)的张量,我们对列进行求和,则结果将是一个具 有形状(3,)的向量。当调用sum运算符时,我们可以指定保持在原始张量的轴数,而不折叠求和的维度。这将 产生一个具有形状(1, 3)的二维张量。# [15.]]))定义了输入如何通过网络映射到输出。注 意,将数据传递到模型之前,我们使用reshape函数将每张原始图像展平为向量。原创 2024-03-24 21:13:50 · 1254 阅读 · 0 评论 -
从零开始实现线性回归(Pytorch 03)
用于前向传播的 模型,通过该模型计算预测值"""线性回归模型"""return torch.matmul(X, w) + b # 用于计算两个张量(tensor)的矩阵乘法。本次使用平方损失"""均方损失"""使用随机梯度下降作为优化算法"""小批量随机梯度下降"""原创 2024-03-16 21:12:34 · 924 阅读 · 0 评论 -
pytorch 基础知识二(Pytorch 02)
定义:然后求 f(x) 在时的导数,实际导数:= 2*3*1(x=1)- 4 =当, 画出x=1此时的原函数和切线函数看下。偏导数,梯度:连结一个多元函数对其所有变量的偏导数,来得到该函数的梯度(gradient)向量。对于这种固定的函数可以直接计算它的导数,也就是梯度,机器学习的线性回归模型就是用的该方式直接计算,机器学习模块写过该计算过程。原创 2024-03-16 20:35:34 · 1113 阅读 · 0 评论 -
pytorch 基础知识一(Pytorch 01)
机器学习核心组件:1 数据集(data),2 前向传播的model(net),3 目标函数(loss), 4 调整模型参数和优化函数的算法(adam)。:用于模型训练的数据。:用于前向传播计算的model, 其中涉及各种复杂的网络,Alexnet, CNN等都属于这个模块的内容,对于传统模型,常规使用公式计算结果的公式其实就是模型的一种,模型主要作用是通过记录的参数计算想要的目标值。:常用的均方误差,平方误差都是,目标函数的一直,用于评估预测值和实际结果的偏差。优化算法。原创 2024-03-16 17:37:04 · 1120 阅读 · 0 评论 -
pytorch 实现线性回归(深度学习)
初始化, 线性回归。原创 2024-02-17 18:10:57 · 947 阅读 · 0 评论