自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 python中列表、元组、集合、字典的用法总结

本文介绍了python种列表、元组、集合、字典的语法以及常用方法

2024-01-30 13:39:26 4028 2

原创 超详细的YOLO系列算法全家桶--YOLOv1-YOLOv8

YOLOv1-YOLOv8的对比图先给大家呈上,本文介绍了从YOLOv1一直到YOLOv8的网络结构,以及各个版本之间的迭代,非常适合研究生们汇报PPT的制作和cv面试。

2024-01-25 01:04:43 5378 1

原创 机器学习笔记--机器学习基本概念(全面总结,通俗易懂)

 什么是机器学习?本文主要介绍了机器学习中的常见概念,包括监督学习和无监督学习、半监督学习、弱监督学习、强化学习、欠拟合和过拟合、损失和优化的概念以及常用的激活函数等。

2024-01-22 19:13:26 2057

原创 机器学习笔记--监督学习和无监督学习全面总结(原理、示意图、代码)

本文为大家总结了监督学习和无监督学习中常用算法原理简单介绍,包括了代码的详细详解,是机器学习的入门学习,同时也是AI算法面试的重点问题。主要包括线性回归、逻辑回归、决策树、朴素贝叶斯、k近邻算法、SVM、PCA、K-Meams等。

2024-01-21 21:20:18 7568 1

原创 过拟合和欠拟合的解决办法

它是一种随机丢弃神经元的方法,可以减少神经元之间的依赖关系,从而增加网络的鲁棒性。在训练过程中,每个神经元都有一定的概率被丢弃,这意味着在每个训练批次中,不同的神经元会被丢弃,从而使得网络更加健壮和通用。这样,网络不会过度依赖任何一个特定的神经元,从而减少过拟合的风险。L1正则化是指在损失函数中增加一个正则项,该正则项是权重向量中每个元素的绝对值之和。这可以促使一些权重变为零,从而使模型更加稀疏,减少过度拟合的风险。L2正则化是指在损失函数中增加一个正则项,该正则项是权重向量中每个元素的平方和。

2024-07-21 20:53:19 165

原创 大语言模型推理优化--键值缓存--Key-value Cache

将查询与当前词元之前所有词元的键进行点积,从当前词元的角度衡量之前词元的相关性。整体系统设计目标包含以下三个方面:(1)低作业完成时间:专注于交互式大语言模型应用,用户希望作业能够快速完成,系统应该在处理推理作业时实现低作业完成时间;(2)高效的 GPU 显存管理:大语言模型的参数和键值缓存占用了大量的 GPU 显存,系统应该有效地管理 GPU 显存,以存储模型和中间状态;(3)可扩展的分布式系统:大语言模型需要多个 GPU 以分布式方式进行推理,系统需要是可扩展的分布式系统,以处理大语言模型推理作业。

2024-07-21 16:53:10 733

原创 Transformer系列总结

Transformer 结构完全通过注意力机制完成对源语言序列和目标语言序列全局依赖的建模。

2024-07-21 04:47:58 858

原创 常见激活函数总结

引入非线性:激活函数通过引入非线性将线性操作转化为非线性操作。线性变换的叠加只能得到一个线性变换,而非线性激活函数允许神经网络学习和表示更复杂的模式和特征。非线性激活函数的存在使得神经网络能够逼近任意复杂的函数。增加网络的表达能力:激活函数的非线性特性增加了神经网络的表达能力。它们允许网络学习非线性关系,从而能够处理更加复杂的数据和任务。激活函数的选择对于网络的性能和学习能力非常重要。实现特定的激活模式:不同的激活函数可以实现不同的激活模式。例如,ReLU。

2024-07-19 17:05:04 843

原创 Pytorch-Padding Layers

torch.nn.ConstantPad2d() 是 PyTorch 中的一个模块,用于执行二维常数填充操作。常数填充是一种常用的填充方法,它在输入张量的边界周围以给定的常数值进行填充,以扩展输入的尺寸。零填充是一种常用的填充方法,它在输入张量的边界周围以零值填充来扩展输入的尺寸。torch.nn.ReplicationPad2d() 是 PyTorch 中的一个模块,用于执行二维复制填充操作。复制填充是一种常用的填充方法,它在输入张量的边界周围以。反射填充是一种常用的填充方法,它在输入张量的边界周围以。

2024-06-15 23:21:00 735

原创 pytorch--Pooling layers

最大池化是卷积神经网络(CNN)中常用的一种降采样操作,它可以减小输入的空间维度,并保留最显著的特征。例如,对于音频信号的处理或文本数据的卷积操作,可以使用一维最大池化来减小输入的长度。最大池化是卷积神经网络(CNN)中常用的一种降采样操作,它可以减小输入的空间维度,并保留最显著的特征。二维最大池化操作主要应用于处理图像数据。与传统的平均池化操作不同,自适应平均池化允许您指定输出的大小而不是固定的池化窗口大小。与传统的最大池化操作不同,自适应最大池化允许指定输出的大小而不是固定的池化窗口大小。

2024-06-15 21:45:40 671

原创 Pytorch--Convolution Layers

输出形状为 (batch_size, out_channels, output_height, output_width),其中 output_height 和 output_width 是输出特征图的高度和宽度,取决于输入图像的大小、卷积核大小、填充和步幅等参数。一维卷积层的输入形状为 (batch_size, in_channels, input_length),其中 batch_size 是批次大小,input_length 是输入序列的长度。因此,转置卷积层通常用于生成更高分辨率的特征图。

2024-06-12 18:28:28 708 2

原创 卷积核大小为(1,1)时,卷积的结果和输入矩阵和权重矩阵逐元素相乘结果相等。

【代码】卷积核大小为(1,1)时,卷积的结果和输入矩阵和权重矩阵逐元素相乘结果相等。

2024-06-12 17:35:12 436

原创 Pytorch--Hooks For Module

在 PyTorch 中,register_module_forward_hook 是一个方法,用于向模型的模块注册前向传播钩子(forward hook)。在 PyTorch 中,register_module_backward_hook 是一个方法,用于向模型的模块注册反向传播钩子(backward hook)。在 PyTorch 中,register_module_forward_pre_hook 是一个方法,用于向模型的模块注册前向传播预钩子(forward pre-hook)。

2024-06-11 16:04:21 252

原创 Pytorch容器

torch.nn.ParameterList() 是 PyTorch 中的一个类,用于将多个参数(torch.nn.Parameter)组合成一个参数列表。当我们定义自己的神经网络模型时,通常会继承 torch.nn.Module 类,并重写其中的方法,以定义模型的结构和前向传播逻辑。在神经网络中,我们需要定义可训练的参数,例如模型的权重和偏置。torch.nn.ParameterDict() 是 PyTorch 中的一个类,用于将多个参数(torch.nn.Parameter)组合成一个参数字典。

2024-06-11 15:47:38 1037

原创 pytorch数学操作

使用 torch.bitwise_not() 函数对 x 进行位非操作,得到的结果张量 y 的元素将是对应位置上的二进制取反结果。需要注意的是,位与操作将每个元素的二进制表示的对应位进行逻辑与操作,只有当对应位都为 1 时,结果位才为 1,否则为 0。在 PyTorch 中,torch.clamp() 函数用于对张量进行截断操作,将张量中的元素限制在指定范围内。它返回一个新的张量,其中的元素是输入张量中对应元素的向下取整结果。它返回一个新的张量,其中的元素是输入张量中对应元素的向上取整结果。

2024-06-05 16:13:34 1247

原创 pytorch(其他操作)

深拷贝是指创建一个新对象,将被复制对象的所有内容逐个复制到新对象中,包括对象的所有属性和嵌套对象。torch.diag_embed() 是 PyTorch 中的一个函数,用于创建一个以给定对角线元素填充的张量,或者将一维张量转换为对角矩阵。torch.diag() 是 PyTorch 中的一个函数,用于创建一个以给定对角线元素填充的张量,或者从一个二维张量中提取对角线元素。torch.diagflat() 是 PyTorch 中的一个函数,用于创建一个以给定一维张量进行扁平化后的元素填充的张量。

2024-06-05 15:30:56 978

原创 lambda函数和map函数

map() 函数是 Python 内置的一个高阶函数,它接受一个函数和一个可迭代对象作为参数,并返回一个将该函数应用于可迭代对象中每个元素的迭代器。Lambda函数是一种匿名函数,也被称为"lambda表达式"。它是一种简洁的方式来定义并使用小型的、单次性的函数。

2024-05-29 18:17:55 363

原创 Pytorch-Reduction Ops

torch.argmax() 是 PyTorch 中的一个函数,用于在指定维度上获取张量中最大值的索引。input:输入张量。dim:可选参数,指定在哪个维度上进行操作。如果未指定,则默认在最后一个维度上进行操作。keepdim:可选参数,指定是否保持输出张量的维度与输入张量相同。默认为 False,表示不保持维度"""# 创建一个张量# 沿着第一个维度获取最大值的索引print(max_indices) # 输出: tensor([1, 1, 1])

2024-05-29 14:06:10 953

原创 pytorch比较操作

它比较两个张量的对应元素,并返回一个新的布尔张量,其中元素为 True 表示对应位置的元素大于或等于,元素为 False 表示对应位置的元素小于。它比较两个张量的对应元素,并返回一个新的布尔张量,其中元素为 True 表示对应位置的元素相等,元素为 False 表示对应位置的元素不相等。它比较两个张量的对应元素,并返回一个新的布尔张量,其中元素为 True 表示对应位置的元素大于,元素为 False 表示对应位置的元素小于或等于。它返回一个新的布尔张量,其中每个元素表示对应位置的元素是否为无穷大。

2024-05-28 19:17:08 1039

原创 Pytorch索引、切片、连接

torch.hstack() 是 PyTorch 中的一个函数,用于沿着水平方向(列维度)堆叠张量来创建一个新的张量。torch.column_stack() 是 PyTorch 中的一个函数,用于按列堆叠张量来创建一个新的张量。torch.masked_select() 是 PyTorch 中的一个函数,用于根据给定的掩码从输入张量中选择元素并返回一个新的张量。torch.index_select() 是 PyTorch 中的一个函数,用于按索引从输入张量中选择元素并返回一个新的张量。

2024-05-28 14:39:12 713

原创 Pytorch创建张量

torch.normal() 是 PyTorch 中用于创建具有指定均值和标准差的正态分布随机值的张量的函数。torch.randn() 是 PyTorch 中用于创建具有正态分布(高斯分布)随机值的张量的函数。torch.zeros() 函数是 PyTorch 中用于创建元素全为零的张量的函数。torch.ones() 函数是 PyTorch 中用于创建元素全为一的张量的函数。torch.rand() 是 PyTorch 中用于创建具有随机值的张量的函数。

2024-05-27 19:37:18 1139

原创 Pytorch张量视图(Tensor Views)

张量视图(Tensor Views)是 PyTorch 中的一个重要概念。视图是指与原始张量共享相同底层数据的新张量,但具有不同的形状或步幅。通过创建张量视图,我们可以在不复制数据的情况下对张量进行形状变换、切片和其他操作,从而实现快速且内存高效的操作。

2024-05-27 17:03:41 1077

原创 nn.Linear

nn.Linear 是 PyTorch 中的一个类,用于定义线性变换(全连接层)。它是神经网络中常用的一种层类型,作为。

2024-05-22 18:28:09 204

原创 pytorch的点积、矩阵乘法、逐元素乘法

在 PyTorch 中,可以使用 torch.mul()、torch.multiply() 或直接使用 * 运算符来执行张量的逐元素相乘操作。

2024-05-20 20:11:11 793

原创 逐元素比较

masked_fill 是 PyTorch 中的一个函数,用于根据给定的遮罩(mask)对张量进行填充操作。函数的作用是将输入张量中,所有在 mask 中对应位置为 True 的元素替换为 value。

2024-05-20 18:51:19 197

原创 ModuleNotFoundError: No module named ‘transformer‘

这行代码用于将当前文件所在目录的上级目录添加到Python解释器的搜索路径中,以便在导入模块时能够正确地找到需要的模块。1.直接将整个目录的绝对路径添加到Python解释器的搜索路径中,那么该目录及其子目录下的所有模块都将可以被搜索到并导入。2.将当前文件所在目录的上级目录路径添加到Python解释器的搜索路径。

2024-05-17 18:20:15 235

原创 字符串常见操作

【代码】字符串常见操作。

2024-05-16 20:41:35 208

原创 Transformer(2)位置编码器

具体来说,序列中每一个单词所在的位置都对应一个向量。其中,pos 表示单词所在的位置,2i 和 2i+ 1 表示位置编码向量中的对应维度,d 则对应位置编码的总维度。通过上面这种方式计算位置编码有这样几个好处:首先,正余弦函数的范围是在 [-1,+1],导出的位置编码与原词嵌入相加不会使得结果偏离过远而破坏原有单词的语义信息。其次,依据三角函数的基本性质,可以得知第 pos + k 个位置的编码是第 pos 个位置的编码的线性组合,这就意味着位置编码中蕴含着单词之间的距离信息。打印初始化位置编码矩阵。

2024-05-16 00:14:07 1117

原创 python中字符串的 format() 方法

format() 是 Python 字符串对象的方法,用于将值插入到格式化字符串的占位符中。它是一种灵活和强大的字符串格式化工具。format() 方法可以在字符串中使用占位符 {},并通过传递参数将值插入到占位符的位置。占位符可以使用索引或命名来指定要插入的参数。

2024-05-15 19:50:25 304

原创 python的转义序列和占位符

1.%s:用于插入字符串。

2024-05-15 19:49:53 179

原创 torch.jit.script()和 torch.jit.trace()区别

torch.jit.script() 和 torch.jit.trace() 是 PyTorch 中用于将模型转换为 TorchScript 表示的两种不同方法。

2024-05-15 17:03:45 332

原创 torch.jit.trace详解

torch.jit.trace() 是 PyTorch 中用于模型跟踪(tracing)的函数。跟踪是将模型转换为 TorchScript 表示的过程,它将模型的操作序列记录下来,并生成一个可以在 TorchScript 环境下运行的优化版本。func:一个包含模型前向传播逻辑的函数,可以是模型的 forward() 方法或任何能够在输入上执行前向传播的函数。example_inputs:模型的示例输入,用于跟踪过程。它可以是单个张量、元组或列表,用于匹配模型接受的输入。

2024-05-15 16:36:35 816 1

原创 Transformer 模型

Transformer 模型是由谷歌在 2017 年提出并首先应用于机器翻译的神经网络模型结构。机器翻译的目标是从源语言(Source Language)转换到目标语言(Target Language)。Transformer 结构完全通过注意力机制完成对源语言序列和目标语言序列全局依赖的建模。

2024-05-14 15:32:22 414

原创 zip和enumerate函数用法

zip 函数接受多个可迭代对象(如列表、元组、字符串等)作为参数,并返回一个将这些可迭代对象按索引位置一一配对的迭代器。每次迭代时,它将返回一个元组,其中包含每个可迭代对象在当前索引位置的值。如果可迭代对象的长度不一致,zip 函数将以最短的可迭代对象为准,多余的值将被忽略。enumerate 函数用于在迭代过程中同时获得索引和值。它接受一个可迭代对象作为参数,并返回一个迭代器,每次迭代时生成一个包含索引和对应值的元组。

2024-05-14 12:53:18 251

原创 列表、字典、集合推导式

在Python中,列表、字典、集合推导式是一种便捷的语法,用于根据特定的规则来创建和初始化这些数据结构。它们可以在一行代码中生成新的对象,避免了使用循环和条件语句的繁琐。

2024-05-12 19:47:48 472

原创 tvm.frontend.from_pytorch详细介绍(1)

Inplace操作是指在原地(in-place)修改数据或对象,而不创建新的副本。它通常用于优化内存使用和减少计算开销。在PyTorch中,有一些操作允许以inplace的方式进行,即直接修改操作作用的张量,而不创建新的张量对象。这些操作通常以_结尾,例如add_、mul_、div_等。通过使用inplace操作,可以减少内存分配和数据拷贝的开销,提高代码的效率。需要注意的是,使用inplace操作时需要小心,因为它会直接修改原始数据,可能导致意外的副作用或不可逆的修改。

2024-05-12 19:24:35 1063

原创 PyTorch中的prim操作

用户在使用PyTorch时,会使用更高级的API和函数来组合和构建计算图,而不是直接操作prim操作。原始操作是构成PyTorch计算图的基本操作单位,代表了计算图中的节点。prim是PyTorch内部用于表示各种计算操作的一种机制,它提供了一种通用的方式来表示和处理不同类型的操作。这些prim操作在PyTorch的计算图中被用于表示不同的计算和控制流操作。总而言之,prim是PyTorch内部用于表示原始操作的一种特殊类型,它在计算图中代表了不同类型的计算和控制流操作。

2024-05-10 15:55:31 461

原创 python深拷贝和浅拷贝的区别

浅拷贝复制对象时共享子对象的引用,而深拷贝复制对象及其所有子对象的独立副本。copy 模块提供了浅拷贝和深拷贝的方法,可以根据需要选择使用。

2024-05-10 14:23:45 337 1

原创 多台服务器共享python虚拟环境和Linux安装python虚拟环境

一般需要将搭建环境的机器上的 /toolchain 和 /home/.virtualenvs/ 两个目录挂载到新机器。16.04 系统默认 python3.5,另外 36 的包由于不再支持,因此需要手动编译 python3.6,若需要 python3.8 也需手动编译。18.04 系统默认 python3.6,可 apt 安装 python3.8。1. 新服务器创建 /home/.virtualenvs 目录。3. 挂载命令写入 /etc/rc.local。

2024-05-07 19:09:05 1183 2

原创 卷积常用计算

padding :dilation*(kernel_size - 1)-padding 上下左右。

2024-05-07 17:28:45 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除