AI

您将深入了解人工智能(AI)的核心技术与应用,包括机器学习、深度学习、自然语言处理、计算机视觉等热门领域。我们提供最新的AI教程、技术文章、行业案例与实践指南,帮助您掌握AI技术,提升编程与数据分析能力。无论您是AI初学者还是专业开发者,都可以在这里找到丰富的学习资源,助力您的职业发展与技术创新。关注我们的AI板块,了解AI最新趋势,抢占未来科技先机!

史上最全AP/mAP通用代码实现(即插即用-基于yolo模型)-中

AI

史上最全AP/mAP通用代码实现(即插即用-基于yolo模型)-中

提示:通用map指标框架代码介绍,并基于yolo模型应用map指标计算代码解读 文章目录 * * * 前言 “史上最全AP、mAP详解与代码实现”文章()已经介绍了map相关原理,且给出相应简单代码实现AP方法。然将AP计算融入模型求解AP结果,可能是一个较为复杂的工程量。恰好,我也有一些这样的需求,我是想计算相关DETR的map指标。我将构造一个即插即用计算map的相关模块代码,使用者只需赋值我的模块,即可使用。同时,为了更好快速使用,我将基于通用模型yolo为基准介绍map通用模块(你有疑问,yolo已有val.py可测试map,但yolo无法测出small、medium、large等相关AP或AP0.75等结果)。本文将直接介绍计算map核心代码简单列子,在此基础上介绍整个即插即用map计算模块使用方法与代码解读。 一、map模块整体认识 本文就是一个detection_map即插即用计算map指标模块,可计算任何模型map指标,但有效计算需要稍微修改部分代码,我后面将介绍。基于此,我将整理一份yolo模型的通用map框架代码。那么,本文将介绍2个内容

By Ne0inhk
huggingface的tokenizer解读

大模型

huggingface的tokenizer解读

文章目录 * * * * 前言 目前很多大模型或NLP相关模型可使用huggingface实现,是一个非常好用的集成库,特别是transformer库。而Hugging Face的Tokenizer模块是该平台的重要组成部分,主要用于文本的处理和编码。Tokenizer模块提供了各种先进的文本处理工具,包括分词、编码、解码等功能。本文将以llama模型作为tokenizer列子,介绍tokenizer相关使用内容。 一、huggingface的tokenizer含义 1、含义 Tokenizers are one of the core components of the NLP pipeline. They serve one purpose: to translate text into data that can be processed by the model. Models can only process numbers,

By Ne0inhk
Video-GroundingDino论文解读

Video-GroundingDino论文解读

文章目录 * * * 前言 之前我在博客介绍了一篇grounding DINO文章,该篇文章只是用于图像定位检测的open-vocabulary内容。最近,偶然看到一篇video grounding DINO文章,该篇文章解决视频相关定位,视频Grounding旨在定位视频中与输入文本查询相对应的时空部分。本文通过引入开放词汇时空视频Grounding任务,解决了当前视频Grounding方法中的一个关键限制。直白说,作者使用时空方式实现视频open-vocablary任务。我将在本博客分享我的见解,若有错误之处,欢迎指正。 一、摘要 视频Grounding旨在定位视频中与输入文本查询相对应的时空部分。本文通过引入开放词汇时空视频Grounding任务,解决了当前视频Grounding方法中的一个关键限制。 与由于训练数据和预定义词汇有限而难以应对开放词汇场景的流行封闭集方法不同,我们的模型利用基础空间基础模型的预训练表示。 这使其能够有效地弥合自然语言和多样化视觉内容之间的语义差距,在封闭式和开放式词汇环境中实现强劲的性能。 我们的贡献包括一种新颖的时空视频

By Ne0inhk
分类评价指标

算法

分类评价指标

文章目录 * * * 1. 混淆矩阵 可使用上下左右这个记忆的小诀窍,所以行代表真实值,列代表预测值,和sklearn中的输入格式相同。   如何理解其中字母的含义呢?以FP为例,第二个字母表示的是列(预测值),那么行(真实值)就是预测值(1)取反(False),则真实值即为0。 精准率与召回率也满足上下左右的规律。 1.1 精准率 p r e c i s i o n = T P T P + F P precision=\frac{TP}{TP+FP} precision=TP+FPTP 精准率是查的准。精准率相对应的是漏报率。 1.2 召回率

By Ne0inhk
Chinese Relation Extraction by BiGRU with Character and Sentence Attentions之代码理解

AI

Chinese Relation Extraction by BiGRU with Character and Sentence Attentions之代码理解

代码链接为 https://github.com/crownpku/Information-Extraction-Chinese/tree/master/RE_BGRU_2ATT 。 1. initial.py 我们首先来分析initial文件。该文件代码量为300多行,难度不大。 核心的变量如下所示: * vec,数据类型为list of list,其中list元素为单个词的词嵌入表示,并按照按照词典的顺序进行排列。后续转换为np.array类型。vec对应的wordembedding。 * word2id,数据类型为字典,其中每个词对应的id,其中key为word,id为value。 * relation2id,数据类型为字典,key为关系(中文),value为id。 * train_sen,数据类型为字典,key为实体对(entity1, entity2),value是list of list of list(本质上为4层嵌套,最后一层是每个句子中对应词)

By Ne0inhk
CogVLM多模态大模型训练代码详细教程(基于vscode调试与训练)

AI

CogVLM多模态大模型训练代码详细教程(基于vscode调试与训练)

文章目录 * * * 前言 今天(2023-12-29),我很开心,断断续续时间搞了一下CogVLM大模型训练代码,终于实现了CogVLM大模型训练。特别是我是基于vscode编辑器配置launch.json文件在RTX4090显卡实现多模态大模型训练。可能很多玩过大模型或显卡显存充足情况下,使用官网教程,顺利情况亦可实现该模型训练。然我介于显卡为云服务,不得不在一张4090显卡上实现代码解读与训练。而代码解读必然使用debug模式较佳,在多种编辑器中看到vscode能力,我实现deepspeed方式在vscode中训练大模型。同时,有关CogVLM模型训练的解读或代码资料较少。因此,本文将介绍如何训练CogVLM模型,重点是如何使用vscode在4090显卡上调试模型。当然,我的博客也分享了vscode使用deepspeed方法与CogVLM推理过程解读,感兴趣可参考我的博客。 一、cogvlm环境安装 按照官网方法安装:https://github.com/THUDM/CogVLM/tree/main # CUDA >= 11.8 pip install

By Ne0inhk
Relation Classification via Convolutional Deep Neural Network 论文研读

Relation Classification via Convolutional Deep Neural Network 论文研读

0. 个人浅谈 该文是ACL会议(NLP国际顶级会议之一)的录用论文,所以具有一定的研究意义。但它的发表时间是在2014年,也就是在AlexNet(2012年)和VGG-Net(2014年)已经在图像分类任务中成功应用之后的事。使用CNN来解决NLP中的关系抽取(关系分类)任务也是情理之中的。当然,中间有很多具体的细节,还需要精雕细琢才能够成功应用。 1. 摘要 现有的统计分类是采用统计机器学习的方法,而效果在很大程度上取决于提取特征的质量。特征都是从已有的NLP系统进行提取的,而现有的NLP系统往往会有一些错误。在这篇论文中,我们使用卷积神经网络去提取词法和句子特征。我们的方法并不会对词进行复杂的预处理。首先,先把词转换成词嵌入的向量。然后词法特征是对给定的名词进行提取。同时,采用句子特征是通过卷积神经网络来学习的。然后把这两方面的特征连接到一起构成最终的特征向量。最后,把特征向量输入softmax层,从而预测两个实体之间的关系。 2. 引言 第一段描述的是关系抽取的具体定义,在这里不做展开。   在关系分类中,最常用的是有监督的方法。有监督的方法通常被划分为基于特征的

By Ne0inhk
yolov5模型Detection输出内容与源码详细解读

yolov5模型Detection输出内容与源码详细解读

文章目录 * * 前言 最近,需要修改yolov5推理结果,通过推理特征添加一些其它操作(如蒸馏)。显然,你需要对yolov5推理输出内容有详细了解,方可被你使用。为此,本文将记录个人对yolov5输出内容源码解读,这样对于你修改源码或蒸馏操作可提供理论参考。 一、Detiction类源码说明 yolov5的detection类输出包含2个部分,一个是训练的输出,一个是预测的输出。而我将在这里解释类参数与训练、预测输出内容。为什么我使用一篇文章来说明?显然是训练与预测输出内容与原始图像尺寸、模型尺寸、特征尺寸以及回归box含义与使用细节。 整体源码如下: class Detect(nn.Module): stride = None # strides computed during build onnx_dynamic = False # ONNX export parameter def __init__(self, nc=80, anchors=(), ch=(), inplace=True): # detection

By Ne0inhk
tf.app.flags

AI

tf.app.flags

首先需要说明的是tf.app.flags是TensorFlow 1.x版本中的代码,它本质上和tf.flags是等价的。为什么是等价的呢?请看代码: print(dir(tf.app.flags) == dir(tf.flags))   如果使用其他深度学习框架,可以使用argparse模块中的类ArgumentParser,使用示例代码如下: parser = ArgumentParser() parser.add_argument("--batch_size", type=int, default=32) parser.add_argument("--load_pre", default=False, action="store_true") parser.add_argument(

By Ne0inhk
linux系统服务器A读取远程linux系统服务器B文件(以cv读图文件为列)

linux系统服务器A读取远程linux系统服务器B文件(以cv读图文件为列)

文章目录 * * 前言 当一个服务器需要处理另一个服务器上已知图像的绝对路径时,可以使用 Paramiko 库连接到远程服务器并读取图像,然后使用 OpenCV(cv2)库在本地服务器上加载和处理图像。以下是示例代码,演示了如何使用 Paramiko 和 cv2 库来实现这一操作。本文就给出应用。 一、读取远程文件 如何使用 Paramiko 和 cv2 库来处理另一个服务器上已知图像的绝对路径。首先,我们使用 Paramiko 库连接到远程服务器,并通过 SFTP 协议从远程服务器读取图像文件。然后,我们将读取的图像数据转换为 NumPy 数组,并使用 cv2 库在本地服务器上加载图像进行处理。 这段代码的关键点在于使用 Paramiko 库建立与远程服务器的连接,通过 SFTP 协议从远程服务器读取图像文件,并将图像数据转换为适合 OpenCV 处理的格式。接着,我们使用 cv2

By Ne0inhk