
PyTorch
文章平均质量分 87
PyTorch
花千树-010
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PyTorch 基础学习
《PyTorch 基础学习》文章索引原创 2024-08-21 12:33:58 · 584 阅读 · 0 评论 -
PyTorch 基础学习(13)- 混合精度训练
本文详细介绍了 PyTorch 中混合精度训练的基本概念、关键方法及其作用、适用场景,并提供了实际应用的代码示例。混合精度训练通过结合使用高精度(如 torch.float32)和低精度(如 torch.float16 或 torch.bfloat16)的数据类型,旨在提升模型训练的速度和效率,同时保持计算的准确性。核心工具包括 torch.autocast(用于自动选择合适的数据类型)和 torch.amp.GradScaler(用于防止梯度下溢)。原创 2024-08-21 13:01:35 · 1874 阅读 · 0 评论 -
PyTorch 基础学习(17)- 过拟合
在深度学习中,过拟合是一个常见的问题,它会导致模型在训练数据上表现很好,但在新数据上的表现却很差。为了提高模型的泛化能力,防止过拟合是至关重要的。本教程将详细介绍过拟合的概念、常用的防止过拟合的方法,并展示如何在 PyTorch 中实施这些方法。过拟合发生在模型过于复杂时,即模型包含的参数数量远超过训练数据的量。当模型在训练数据上表现得非常好时,它可能只是“记住”了这些数据的噪声或细节,而不是学到了数据的普遍规律。这会导致模型在遇到新数据时无法很好地预测,从而表现不佳。训练集上的损失很低。原创 2024-08-30 12:54:31 · 1225 阅读 · 0 评论 -
PyTorch 基础学习(16)- 优化算法
在深度学习的训练过程中,选择合适的优化算法对模型的性能起着至关重要的作用。PyTorch为我们提供了多种优化器,它们在不同任务和数据集上有着独特的优势。本文将深入探讨几种常用的PyTorch优化算法,包括其原理、典型应用场景以及使用实例。在深度学习的实际应用中,选择合适的优化算法能够显著提高模型的性能。本文详细介绍了PyTorch中常用的几种优化器,包括其原理、典型应用场景以及使用实例。理解这些优化算法的特点,有助于在不同的任务中做出最优的选择,从而实现更好的模型训练效果。原创 2024-08-30 12:53:54 · 1125 阅读 · 0 评论 -
PyTorch 基础学习(15)- 损失函数
在深度学习中,损失函数(Loss Function)用于评估模型预测值与实际目标之间的差异,是模型训练的核心部分。在 PyTorch 中,损失函数通过torch.nn模块提供,有多种不同类型的损失函数可供选择,每种损失函数都有其特定的用途和应用场景。本文将详细介绍几种常见的 PyTorch 损失函数,包括它们的用途、公式、典型应用场景以及实例代码。损失函数在深度学习模型训练中起着至关重要的作用。通过选择合适的损失函数,可以有效引导模型优化目标,从而提高预测的准确性和可靠性。原创 2024-08-29 23:22:42 · 1372 阅读 · 1 评论 -
PyTorch 基础学习(14)- 归一化
归一化是数据预处理中的重要步骤之一,它可以将数据调整到特定的范围或分布,有助于加速训练并提高模型的性能。在机器学习中,不同的归一化方法适用于不同的场景。本文将详细介绍 scikit-learn 中的常见归一化方法及其应用。不同的归一化方法适用于不同的数据特性和模型需求。在实际应用中,选择合适的归一化方法能够有效提高模型的性能和训练速度。通过理解各类归一化方法的工作原理,您可以在机器学习项目中更好地处理数据并优化模型表现。原创 2024-08-29 23:21:49 · 1983 阅读 · 0 评论 -
PyTorch 基础学习(12)- 自定义运算符
在深度学习的开发中,常常需要为特殊需求定义自定义运算符。PyTorch 提供了这一API集合,允许开发者扩展 PyTorch 核心运算符库,测试自定义运算符,并创建新运算符。假设我们需要创建一个新的运算符numpy_sin,它使用 NumPy 来计算张量的正弦值。我们希望这个运算符可以在 CPU 和 CUDA 上运行,并且支持自动求导。# 定义自定义运算符x_np = x.cpu().numpy() # 将张量转换为 NumPy 数组。原创 2024-08-21 12:43:35 · 1173 阅读 · 0 评论 -
PyTorch 基础学习(11)- 张量内存管理
`torch.Storage` 是 PyTorch 中的一个底层数据结构,管理着张量的内存。它是一个一维的连续数组,所有元素类型相同。`Storage` 提供了多种方法,如类型转换、设备切换、数据共享等,帮助开发者更灵活地操作和管理张量的数据。尽管用户通常与张量交互,但理解 `Storage` 可以在高级场景中更高效地利用 PyTorch。原创 2024-08-17 18:40:02 · 924 阅读 · 0 评论 -
PyTorch 基础学习(10)- Transformer
本教程详细介绍了如何使用PyTorch实现一个基于Transformer的机器翻译模型。首先,简要介绍了Transformer模型的基本原理,包括自注意力机制、多头注意力机制、前馈神经网络、以及残差连接与层归一化。随后,教程通过实际代码示例,展示了如何定义数据集类、编写`collate_fn`函数进行序列填充、搭建Transformer模型结构、以及实现模型的训练、评估和推理过程。最后,通过一个简单的词汇表和句子对的运行示例,展示了模型的训练和推理效果。该教程旨在帮助读者理解Transf原创 2024-08-17 18:22:32 · 2281 阅读 · 0 评论 -
PyTorch 基础学习(9)- 训练优化器
PyTorch 提供了一个强大的优化器模块,它实现了多种常用的优化算法,用于训练神经网络模型。在本教程中,我们将探讨如何使用这些优化器,以及它们的应用场景和示例代码。原创 2024-08-14 18:58:50 · 1056 阅读 · 0 评论 -
PyTorch 基础学习(8)- 多进程并发
在深度学习中,常常需要在多个进程之间共享数据。封装了 Python 的模块,使得在不同进程之间共享 PyTorch 张量变得更加简单和高效。通过使用,我们可以将张量或存储移动到共享内存中,从而在多个进程之间共享它们,而无需额外的复制操作。原创 2024-08-14 17:41:51 · 1996 阅读 · 0 评论 -
PyTorch 基础学习(7)- 自动微分
Function自定义的Function可以通过子类化来定义。用户需要实现forward和backward方法。在这个自定义ReLU函数中,我们在forward方法中使用保存输入张量,并在backward方法中通过获取它来计算梯度。提供了灵活而强大的自动微分功能,通过简单地封装张量,并使用backward()方法,可以很方便地进行梯度计算。掌握这些技巧可以帮助我们更高效地进行深度学习模型的训练和优化。无论是自定义的损失函数还是特殊的网络结构,自动微分都能帮助我们轻松计算梯度,推动模型的优化和提升。原创 2024-08-13 19:27:44 · 1148 阅读 · 0 评论 -
PyTorch 基础学习(6)- 函数API
PyTorch 的 torch.nn.functional 模块提供了丰富的函数,用于构建神经网络。这些函数提供了灵活性和控制能力,允许你直接实现层和操作。本指南探讨模块中的关键函数,涵盖卷积操作、池化、激活函数、归一化、线性变换、Dropout、距离计算和损失函数。原创 2024-08-13 18:46:42 · 1096 阅读 · 0 评论 -
PyTorch 基础学习(5)- 神经网络
PyTorch 提供了一套强大的工具来构建和训练神经网络。其中的核心组件之一是torch.nn,它提供了模块和类以帮助您创建和定制神经网络。原创 2024-08-13 15:08:49 · 989 阅读 · 0 评论 -
PyTorch 基础学习(4)- 张量的类型
PyTorch 的类提供了一种在 CPU 和 GPU 上高效处理多维数据的方法,支持各种数学运算。掌握这些基本操作将帮助你在深度学习和其他科学计算中更好地利用 PyTorch。原创 2024-08-13 00:19:55 · 606 阅读 · 0 评论 -
PyTorch 基础学习(3) - 张量的数学操作
逐点操作用于对张量中的每个元素进行相同的数学运算。线性代数操作涉及矩阵运算,如矩阵乘法、逆矩阵和分解。比较操作用于比较张量元素之间的关系。PyTorch中的这些操作通常具有广播机制,允许对不同形状的张量进行运算,只要它们的形状是兼容的。原创 2024-08-12 19:26:48 · 1143 阅读 · 0 评论 -
PyTorch 基础学习(1) - 快速入门
PyTorch学习,我们从AI的hello world程序(线性回归)开始,线性回归就通过一系列输入x和输出y,计算y = wx + b公式,w和b的合理值,训练后,就可以通过模型计算任意输入x,得到y值。原创 2024-08-12 17:40:44 · 656 阅读 · 0 评论 -
PyTorch 基础学习(2)- 张量 Tensors
张量是数学和计算机科学中的一个基本概念,用于表示多维数据,是AI世界中一切事物的表示和抽象。可以将张量视为一个扩展了标量、向量和矩阵的通用数据结构。标量(0阶张量):标量是一个单一的数值,例如 3 或 -1.5。向量(1阶张量):向量是一维数组,可以表示为一列或一行数值,例如 ([1, 2, 3])。矩阵(2阶张量)高阶张量:高阶张量是更高维度的数组。本教程介绍了PyTorch中的基本张量操作,包括创建、索引、随机采样、序列化和并行化等。通过实例演示了如何使用这些操作构建一个简单的线性回归模型。原创 2024-08-12 19:11:54 · 1330 阅读 · 0 评论