自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KeyError: ‘dinov2‘

【代码】KeyError: ‘dinov2‘

2024-03-25 19:30:54 100

原创 1、Pandas 数据结构:从 Series 到 DataFrame

DataFrame 是 Pandas 中的二维表格型数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔值等)。DataFrame 既有行索引也有列索引,它可以被看作是由 Series 组成的字典。Series 是 Pandas 中的一维数组形式的数据结构,它可以包含任何数据类型(整数、字符串、浮点数、Python对象等)。Series 基本上可以被视作一个定长的有序字典,因为它是索引值到数据值的一个映射。可以是字典、ndarray、Series 或另一个 DataFrame。

2024-01-22 11:12:06 569

原创 Numpy系列文章

1、NumPy简介:开启Python科学计算之旅2、NumPy ndarray:多维数组对象基础3、Numpy中的通用函数4、ndarray排序、搜索和计数函数5、NumPy 高级索引和切片6、Numpy形状操纵7、Numpy数组堆叠8、Numpy数组拆分9、Numpy视图与拷贝10、Numpy广播机制11、NumPy 花式索引与索引技巧

2024-01-22 10:36:40 448

原创 8、VAE:变分自编码器

VAE它本质上就是在我们常规的自编码器的基础上,对encoder的结果(在VAE中对应着计算均值的网络)加上了“高斯噪声”,使得结果decoder能够对噪声有鲁棒性;而那个额外的KL loss(目的是让均值为0,方差为1),事实上就是相当于对encoder的一个正则项,希望encoder出来的东西均有零均值。那另外一个encoder(对应着计算方差的网络)的作用呢?它是用来动态调节噪声的强度的。

2024-01-21 16:16:24 927

原创 11、NumPy 花式索引与索引技巧

花式索引是指使用整数数组作为索引来访问数组中的元素。这种方式与基本的索引不同,它允许我们一次性获取数组中不连续的多个元素。花式索引也适用于二维数组,可以一次性访问数组中的多行、多列或多个不连续的元素。布尔索引允许我们使用布尔数组作为索引来选择数组中满足特定条件的元素。我们可以组合使用基本切片和花式索引来实现更复杂的数据选择。函数可以帮助我们使用花式索引来选择多维数组中的特定区域。NumPy 还提供了更多索引技巧,使数组操作更加灵活。

2024-01-21 15:11:35 532

原创 10、Numpy广播机制

NumPy 的广播机制允许我们在不同形状的数组之间执行这些运算,而无需手动调整它们的尺寸。

2024-01-21 14:54:09 446

原创 9、Numpy视图与拷贝

NumPy 中的视图、浅拷贝和深拷贝提供了不同级别的数据复制和引用机制。视图(类似于浅拷贝)允许您在不复制数据的情况下,对数组的子集进行操作;而深拷贝确保原始数据的完整独立性,允许您在保留原始数据的同时进行操作。

2024-01-20 19:16:48 499

原创 8、Numpy数组拆分

数组拆分允许我们根据指定的索引位置或者等份分割的方式将一个数组分解为多个子数组。主要使用的函数是和,以及它们的等价函数。函数可以按指定的索引位置对数组进行分割,它接受一个数组和一个分割点列表作为参数,并返回一个包含分割后子数组的列表。用于沿数组的水平轴拆分数组,它是np.split的特殊情况,适用于二维数组。用于沿数组的垂直轴拆分数组,它也是np.split的特殊情况。允许进行不等分拆分,即子数组大小可以不一致。

2024-01-20 18:59:13 498

原创 7、Numpy数组堆叠

np.hstack。

2024-01-19 21:29:18 455

原创 6、Numpy形状操纵

在上述代码中,我们将一个 1x3x1 的三维数组压缩成了一个 3x1 的二维数组。这种技术常用于将一维数组转换为列向量或行向量,以符合某些算法的输入要求。这将创建一个新的 2x3 数组,其中原始数组的元素被复制以填充新数组。方法用于从数组的形状中去除单维度的条目,即那些大小为 1 的维度。,但它可以改变数组的大小。可以在数组中增加一个新的轴,也就是增加一个维度。,让 NumPy 自动计算这个维度的大小。会重复数组中的数据以填充新数组。来匹配原始数组的总大小。总是返回一个新的数组,而。

2024-01-19 21:17:50 466

原创 5、NumPy 高级索引和切片

切片操作允许访问数组的子集。在 NumPy 中,可以对多维数组进行切片,就像处理一维数组一样简单。这里首先选择了第0行和第2行,然后在每一行上取第1列和第3列(由于步长为2,所以只取到了第3列)在多维数组中,可以使用整数列表或数组来进行索引。布尔型索引允许我们根据条件选取数组中的元素。在实践中,可以组合使用切片与高级索引以实现更复杂的操作。在多维数组中,可以使用元组形式的索引来选择特定的子区域。这里选择了第1至第2行和第1至第2列的子矩阵。将按照给定的顺序重新排列数组的行。将包含第0行和第2行的内容。

2024-01-18 13:33:14 483

原创 7、DETR:基于Transformer的端到端目标检测

尽管在速度上可能不如一些专门为实时应用设计的检测模型,DETR的架构为未来的研究和应用提供了一个有趣的新方向。包括编码器和解码器。,可以发现,不同于Faster RCNN, RetinaNet等方法在特征的每个像素上构建稠密的anchor不同,detr只用少量稀疏的anchor(object queries)做预测,这也启发了后续的一系列工作。:DETR彻底改变了目标检测的传统流程,实现了真正的端到端训练,将图像特征提取、目标定位和分类任务全部整合在Transformer中,提升了模型的整体优化效果。

2024-01-18 13:16:15 1024

原创 conda:Collecting package metadata (current_repodata.json): failed

【代码】Collecting package metadata (current_repodata.json): failed。

2024-01-17 17:37:46 636

原创 4、Numpy排序、搜索和计数函数

numpy其余常用函数参考:3、Numpy中的通用函数-CSDN博客在 NumPy 中,通用函数(通常称为ufunc)是一种对 ndarray 中的数据执行元素级运算的函数。这些函数是高度优化的、快速的向量化包装器,提供了简单的方法对数组中的所有元素执行相同的操作,而不需要编写循环语句。

2024-01-17 11:11:04 1218

原创 3、Numpy中的通用函数

在 NumPy 中,通用函数(通常称为ufunc)是一种对 ndarray 中的数据执行元素级运算的函数。这些函数是高度优化的、快速的向量化包装器,提供了简单的方法对数组中的所有元素执行相同的操作,而不需要编写循环语句。

2024-01-17 10:07:39 606

原创 linux设置定时任务

Cron任务运行时,默认环境与登录shell有所不同,可能缺少某些环境变量。注意,对于一些高级需求,可能还需要考虑anacron(用于非一直开机的系统上运行定时任务)或其他定时任务解决方案,但cron是Linux中最常用的基础定时调度工具。在Linux系统中设置定时任务通常使用的是Cron服务。: 在编辑器中,按照特定格式定义你的定时任务。这将使用默认文本编辑器打开当前用户的crontab文件。设置了接收cron任务执行结果的邮箱地址;示例:如果想要在每天的凌晨3点执行。)会自动检测和执行计划任务。

2024-01-16 21:09:36 461

原创 2、NumPy ndarray:多维数组对象基础

NumPy 的ndarray是一个多维数组对象,它支持快速的、向量化的数组操作。与 Python 原生的列表相比,ndarray提供了更加丰富的操作和更高效的存储。核心特性同质性ndarray中的所有元素必须是相同数据类型。多维性:可以是任意维度的数据结构,如向量(1维)、矩阵(2维)或更高维数据。高效性:NumPy 在内存中使用连续块存储数据,优化了缓存的使用,提高了计算性能。

2024-01-16 11:34:21 571

原创 6、CLIP:连接文本和视觉世界的预训练模型

一下引自神器CLIP:连接文本和图像,打造可迁移的视觉模型 - 知乎在计算机视觉领域,最常采用的迁移学习方式就是先在一个较大规模的数据集如ImageNet上预训练,然后在具体的下游任务上再进行微调。这里的预训练是基于有监督训练的,需要大量的数据标注,因此成本较高。近年来,出现了一些基于自监督的方法,这包括基于对比学习的方法如MoCo和SimCLR,和基于图像掩码的方法如MAE和BeiT,自监督方法的好处是不再需要标注。

2024-01-16 08:00:00 1692

原创 Python 格式化输出:精确控制你的数据表示

在编程语言中,格式化输出是一个非常重要的功能,它允许程序员以可读和美观的方式展示信息。Python 提供了多种方法来格式化字符串,控制数据的显示方式。Python 中的格式化输出,主要包括旧式的格式化、方法和 f-string。

2024-01-15 11:16:26 594

原创 1、NumPy简介:开启Python科学计算之旅

NumPy 是一个强大的 Python 库,用于处理多维数组对象和矩阵。它提供了大量的数学函数来操作这些数组。因为它提供了一个高性能的多维数组对象和工具来处理这些数组,所以它成为了科学计算中最关键的库之一。

2024-01-15 10:32:07 587

原创 3、Linux中合并两个文件

注意:这些命令适用于文本文件。对于二进制文件,应使用专门的工具或考虑文件格式来决定如何合并。如果仅需要合并两个文件的部分内容(如前几行或后几行),可以使用。的内容按顺序合并,并将合并后的内容重定向到。

2024-01-14 09:54:52 541

原创 2、合并两张图像

使用一个函数实现两张图像合并,通过参数指定合并方式(水平或垂直或加权)。

2024-01-14 09:42:14 671

原创 linux系统的大致文件结构

引导加载器文件:包含Linux启动时使用的文件,例如内核映像(vmlinuz),引导加载器配置(如GRUB),initrd等。- 进程信息:一个虚拟的文件系统,包含当前运行进程的信息,以及内核和系统状态的实时信息。- 变量文件:包含自最后一次启动以来经常变化的文件,例如日志文件、邮件、打印作业等。- 可选的应用程序软件包:通常用于存储第三方和可选的软件应用程序和数据。- 服务数据:包含服务相关的数据,例如web服务器和FTP服务器的数据。- 系统库文件:包含系统运行所需的库文件。

2024-01-13 19:20:42 399

原创 tar命令使用

tar命令在Linux中进行文件的解压缩和压缩操作。

2024-01-13 18:59:56 845

原创 SSH密钥生成

【代码】SSH密钥生成。

2024-01-12 23:03:35 445

原创 git stash:协同开发中最常用的命令

例如,假设你正在本地分支上进行开发,同时你的队友也在这个分支上工作并已经将他们的更改推送到了远程仓库。在你准备把你的更改也推送到远程仓库之前,你需要先把队友的更新拉取到本地,并且希望同时保留你未提交的更改。的这种工作流使得开发人员能够在不影响已有工作的情况下,灵活地同步远程仓库的更新。将你的工作目录中的更改(包括暂存区)暂存起来,以便稍后可以重新应用这些更改。这将合并远程分支的更改到你的本地分支。将之前暂存的更改重新应用到你的工作目录中。: 一旦你的工作目录是最新的,你可以使用。

2024-01-12 10:30:22 433

原创 常用的git操作

撤销某次提交的更改,它会创建一个新的提交来反转更改。: 从远程仓库拉取最新更改并合并到本地分支。子目录,其中包含所有必要的仓库文件。: 将本地分支的更新推送到远程仓库。: 将一个分支的更改合并到当前分支。: 重置当前 HEAD 到指定状态。: 初始化一个新的 Git 仓库。: 克隆一个现有的 Git 仓库。: 显示工作目录和暂存区的状态。: 切换分支或恢复工作目录文件。: 将暂存区的更改提交到仓库。这将在当前目录创建一个新的。: 将文件更改添加到暂存区。: 列出、创建或删除分支。目录,并下载所有数据。

2024-01-12 10:16:27 722

原创 5、MAE:探索视觉预训练模型

(2)语言和视觉的信息密度(information density)差异巨大,前者是强语义的,高信息密度的(highly semantic and information-dense),在NLP中即使只mask一个token,对模型来说可能都是很难的任务,因此模型可以通过学习获得复杂的语言理解能力(sophisticated language understanding),但是对视觉图像来说,信息是高度冗余的,缺失一个patch,可能并不会让模型产生多少困惑,模型可以通过周围的像素信息进行推断。

2024-01-11 22:16:36 1140

原创 Linux中如何更换yum源

在 Linux 系统中,更换yum源可以通过替换或编辑目录下的.repo文件来实现。以下是一个基本的步骤指南来更换 CentOS 系统的yum源为阿里云的镜像源。。yum在更换源之前,建议备份现有的yum配置。这样如果新的源出现问题,可以方便地恢复到原有状态。yum可以创建一个新的.repo文件,或者下载并替换现有的文件。下面是示例命令,用于下载阿里云的 CentOS 7 的yum源配置文件,并替换所有默认的.repo文件。这将下载一个名为的文件,替换了当前的文件。下载新的源配置后,需要清除yum缓存。

2024-01-11 16:11:48 937

原创 2、BERT:自然语言处理的变革者

BERT(Bidirectional Encoder Representations from Transformers)是Google在2018年提出的一种自然语言处理(NLP)预训练模型。BERT模型的创新之处在于它采用了Transformer的编码器架构,并且是第一个真正基于双向上下文进行训练的语言表示模型,这使得它在一系列语言理解任务上取得了当时的最先进性能。2、什么是BERT?

2024-01-10 10:49:36 653

原创 4、Swin Transformer:视觉Transformer的革新之路

在此转换之后,一些窗口可能由特征映射中不相邻的几个子窗口组成(这些不连续的部分是不应该参与注意力计算的),因此采用mask机制(NLP中的masking 屏蔽不应该需要的信息)将注意力计算计算限制在每个子窗口内。总结来说,Swin Transformer巧妙地融合了CNN和Transformer的优点,突破了传统Transformer在视觉任务中的局限性,为视觉领域的研究开辟了新的方向,展现出卓越的性能和广泛的应用前景。故而引入SW-MSA通过移位窗口的方式,引入跨窗口连接的同时保持非重叠窗口的高效计算。

2024-01-10 08:00:00 1265

原创 22、hashlib模块

hashlib是 Python 内置的一个库,它提供了一个通用的接口来创建不同哈希消息摘要算法的加密散列。哈希函数可以用于许多目的,如数据完整性校验、保护密码和加密。

2024-01-10 07:00:00 373

原创 20、Gradio模块

可以对界面进行自定义,例如设置标题、描述、输入输出的标签等。这些额外的参数可以在创建Interfacefn=greet,

2024-01-09 15:13:00 471

原创 numpy中的广播机制

广播是 NumPy 在算术运算中处理不同形状数组的方式。它按照特定的规则自动扩展数组的维度,让它们具有兼容的形状,以便可以执行逐元素的操作。

2024-01-09 14:53:57 519

原创 torch中与numpy中对矩阵操作的类似函数对比

【代码】torch中与numpy中对矩阵操作的类似函数对比。

2024-01-08 19:56:35 329

原创 3、Vision Transformer (ViT): 开启视觉识别的新纪元

ViT的最大创新之处在于其采用了Transformer中的自注意力机制,摒弃了卷积层,能够对输入图像进行全局分析,这使得模型可以更好地理解和学习图像中的长距离依赖关系,从而提升模型性能。Transformer处理:接下来,这些patch embeddings作为Transformer的输入,经过多层自注意力和前馈神经网络层的处理,提取出高层次的特征表示。分类头:最后,将Transformer的输出经过分类头进行处理,得到最终的类别预测。ViT (Visual Transformer) - 知乎。

2024-01-08 11:06:48 1047

原创 1、理解Transformer:革新自然语言处理的模型

位置编码是以一种特定的模式添加的,它对每个位置上的嵌入向量进行修改,使得不同位置的嵌入向量能够反映出它们的位置关系。Transformer 编码器的结构由多个相同的层(layer)堆叠而成,每一层都有两个主要子模块,以及一个残差连接跟随每个子模块,最后是层归一化(Layer Normalization)。由于 Transformer 的自注意力机制并不区分序列中不同位置的元素,即它本身不像循环神经网络(RNN)那样具有处理序列的固有顺序性,所以需要一种方法来保证模型能够利用单词的顺序信息。

2024-01-07 16:59:04 1441

原创 torch.einsum用法

是 PyTorch 中的一个强大工具,它允许你通过 Einstein summation convention(爱因斯坦求和约定)来执行复杂的张量操作。使用这种约定,你可以用一个字符串来指定张量操作的维度规则。这个函数非常灵活,可以用于实现各种张量运算,如元素相乘、矩阵乘法、批量矩阵乘法、迹等。其中,equation是一个字符串,指定了张量操作的约定;*operands是要操作的张量。以下是。

2024-01-07 16:17:59 566

原创 Linux中常用压缩、解压缩命令

在 Linux 系统中,有许多命令可以用于文件和目录的压缩和解压缩。

2024-01-06 13:57:56 358

原创 numpy中改变数组形状

是 NumPy 中用于转置数组的函数,也就是说,它可以改变数组的轴的顺序。对于二维数组,它会交换行和列,而对于多维数组,它可以重新排列轴的顺序。方法用于移除数组形状中的单维度条目,即维数为1的维度。用于在指定位置插入一个新的轴来增加数组的维数。在这个例子中,原来的轴顺序是(0, 1, 2),可以在不改变数组数据的前提下改变数组的形状。可以改变数组的形状并且改变了原数组。用于移除多余的轴(维度为1的),而。表示第一个轴和第二个轴交换了位置。适用于改变数组的多维形状,而。是最常用的改变数组形状的方法。

2024-01-06 13:49:53 464

空空如也

空空如也

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

TA关注的人

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