自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 第十五章:基于BERT模型的LoRA训练与resume方法(huggingface)

在huggingface中,很多情况是使用LoRA方法来训练模型。有关LoRA训练获得权重与加载,以及如何LoRA继续resume训练等问题,尚未有一个较好文章说明。因此,本文将详细说明LoRA相关内容。首先介绍了LoRA...接着给出了关于LoRA训练与恢复方法Demo与介绍,包括LoraConfig配置文件介绍和PEFT的LoRA训练;并进一步解读huggingface训练期间的LoRA权重等内容加载源码解读;最后,给出训练完后LoRA权重如何与原始模型合并Demo,以此实现模型推理。

2024-06-14 22:44:42 410

原创 第十四章:huggingface的LoRA原理与相关文件保存方法

在huggingface中,很多情况是使用LoRA方法来训练模型。有关LoRA训练获得权重与加载,以及如何LoRA继续resume训练等问题,尚未有一个较好文章说明。因此,本文将详细说明LoRA相关内容。首先介绍了LoRA(Low-Rank Adaptation)的原理及相关内容;其次也对训练相关各种模型权重、LoRA权重、配置文件、优化器、调度器以及训练器状态和随机状态保存方法;接着给出了关于LoRA训练与恢复方法Demo与介绍,包括LoraConfig配置文件介绍和PEFT的LoRA训练;

2024-06-14 22:42:11 464

原创 第十三章:huggingface的resume训练源码内容

想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。本篇文章基于上篇文章Demo解读相关resume源码内容,特别是权重等相关内容加载。

2024-06-14 22:39:58 284

原创 第十二章:huggingface的resume训练的Demo

想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。之前文章均是关于huggingface训练相关源码解读,而本篇文章将给出相关权重、状态等保存方法,构建一个resume的Demo。

2024-06-14 22:38:58 129

原创 第十一章:_inner_training_loop训练模型的内循环内容(step——training_step)

本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。本篇文章基于基于上一章_inner_training_loop源码与流程,本章继续展开 _inner_training_loop源码的step内循环的training_step模块与loss模块内容的源码与流程解读。

2024-06-14 22:37:03 137

原创 第十章:_inner_training_loop训练模型的内循环内容(step)

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:34:49 164

原创 第九章:_inner_training_loop训练模型的外循环内容(epoch)

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:33:31 142

原创 第八章:_inner_training_loop源码的优化器与策略内容

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:30:39 109

原创 第七章:_inner_training_loop源码的数据处理内容

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:28:07 103

原创 第六章:huggingface的_inner_training_loop源码与流程解读

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:24:53 180

原创 第五章:huggingface的Trainer.train()源码与流程解读

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:21:54 431

原创 第四章:构建Trainer的Demo

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:20:13 110

原创 第三章:huggingface的Trainner参数解读

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:17:58 249

原创 第二章:huggingface的TrainingArguments与Trainner参数

大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。

2024-06-14 22:12:35 590

原创 第一章:huggingface整体介绍

Hugging Face是一家专注于自然语言处理(NLP)和对话系统的创新型公司。它成立于2016年,总部位于纽约,由两位热衷于开源的机器学习工程师Clément Delangue和Julien Chaumond创立。Hugging Face的使命是推动NLP技术,让更多人能够轻松地访问和使用先进的语言模型。Hugging Face的主要产品包括Transformers库、Datasets库、Tokenizers库以及Hugging Face Hub等。

2024-06-14 21:59:30 496

原创 T-Rex2: Towards Generic Object Detection via Text-Visual Prompt Synergy论文解读

我们呈现了 T-Rex2,一个高度实用的开放式目标检测模型。先前依赖于文本提示的开放式目标检测方法有效地概括了常见对象的抽象概念,但由于数据稀缺和描述限制,对于罕见或复杂的对象表示而言表现不佳。相反,视觉提示在通过具体的视觉示例描绘新对象方面表现出色,但在传达对象的抽象概念方面不如文本提示那样有效。鉴于文本提示和视觉提示的互补优势和劣势,我们引入了 T-Rex2,通过对比学习将两种提示融合到一个单一模型中。

2024-06-06 20:30:00 1473

原创 第十七节 huggingface的trainner的断点续训的Demo(resume)

在huggingface中,有关trainer内容实在太多了,我将布局6篇文章来构建有关内容。第一篇文章介绍参数;第二篇文章给出一个完整Demo,并介绍trainner源码的整体结构,呈现一个整体框架;第三篇文章介绍给出数据构造、优化器构建方法源码解读;第四篇篇文章介绍epoch外循环训练相关源码解读;第五篇文章介绍step内循环训练相关源码解读;第六篇文章介绍Resume方法内容,包含继承数据、继承优化器、继承模型等实现完整断点续训功能。 而本篇为第六篇文章,主要解读resume方法重载权重、优化器等继续

2024-06-01 21:23:36 387 1

原创 huggingface的self._maybe_log_save_evaluate、self.save_model、self._save源码解读(权重等内容保存)

在 Hugging Face 中,self._maybe_log_save_evaluate是有关权重等内容相关保存函数。本文通过该函数探索huggingface内部源码对权重相关文件保存方法,以供读者了解huggingface保存权重文件原理。之所以,单独写出来,是要强调,我们可以使用这种方式灵活实现自己需求。特别是使用save_model等函数来保存权重,也可对Trainer进行继承来保存你想要的参数等。

2024-05-30 20:30:00 467

原创 第十六节 huggingface的trainner的_inner_training_loop函数源码解读(step)

在huggingface中,有关trainer内容实在太多了,我将布局6篇文章来构建有关内容。第一篇文章介绍参数;第二篇文章给出一个完整Demo,并介绍trainner源码的整体结构,呈现一个整体框架;第三篇文章介绍给出数据构造、优化器构建方法源码解读;第四篇篇文章介绍epoch外循环训练相关源码解读;第五篇文章介绍step内循环训练相关源码解读;第六篇文章介绍Resume方法内容,包含继承数据、继承优化器、继承模型等实现完整断点续训功能。 而本篇为第五篇文章,主要解读step内循环训练相关源码内容。

2024-05-29 22:46:42 520

原创 huggingface的self.state与self.control来源(TrainerState与TrainerControl)

在 Hugging Face 中,self.state 和 self.control 这两个对象分别来源于 TrainerState 和 TrainerControl,它们提供了对训练过程中状态和控制流的访问和管理。通过这些对象,用户可以在训练过程中监视和调整模型的状态,以及控制一些重要的决策点。本文主要介绍huggingface的trainer中的self.control与self.state的来源。

2024-05-29 22:00:00 1931

原创 Enhancing DETR’s Variants through Improved Content Query and Similar Query Aggregation论文解读

查询的设计对于DETR及其变体的性能至关重要。每个查询包含两个部分:内容部分和位置部分。传统上,内容查询初始化为零值或可学习embeding,这缺乏必要的内容信息,导致次优性能。在本文中,我们引入了一个新颖的即插即用模块——自适应内容查询(Self-Adaptive Content Query, SACQ),以解决这一局限性。SACQ模块利用transformer编码器的特征,通过自注意力池化生成内容查询。这让候选查询能够适应输入图像,从而形成更全面的内容先验并更好地聚焦于目标对象。

2024-05-28 11:33:59 993

原创 第十五节 huggingface的trainner的_inner_training_loop函数源码解读(epoch)

在huggingface中,有关trainer内容实在太多了,我将布局6篇文章来构建有关内容。第一篇文章介绍参数;第二篇文章给出一个完整Demo,并介绍trainner源码的整体结构,呈现一个整体框架;第三篇文章介绍给出数据构造、优化器构建方法源码解读;第四篇篇文章介绍epoch外循环训练相关源码解读;第五篇文章介绍step内循环训练相关源码解读;第六篇文章介绍Resume方法内容,包含继承数据、继承优化器、继承模型等实现完整断点续训功能。 而本篇为第四篇文章,主要解读epoch外循环训练相关源码内容。

2024-05-24 11:29:52 191

原创 MM-Vet: Evaluating Large Multimodal Models for Integrated Capabilities论文解读(大模型评估方法)

我们提出了MM-Vet,这是一个评估基准,旨在检验大型多模态模型(LMMs)在复杂多模态任务上的表现。最近的LMMs展示了各种有趣的能力,比如解决写在黑板上的数学问题,推理新闻图片中的事件和名人,以及解释视觉笑话。快速的模型进展给评估基准的开发带来了挑战。问题包括:(1)如何系统地构建和评估复杂的多模态任务;(2)如何设计能够适用于不同问题和答案类型的评估指标;以及(3)如何提供超越简单性能排名的模型洞见。

2024-05-16 22:00:00 988

原创 第十四节 huggingface的trainner的_inner_training_loop函数源码解读

在huggingface中,有关trainer内容实在太多了,我将布局6篇文章来构建有关内容。第一篇文章介绍参数;第二篇文章给出一个完整Demo,并介绍trainner源码的整体结构,呈现一个整体框架;第三篇文章介绍给出数据构造、优化器构建方法源码解读;第四篇篇文章介绍epoch外循环训练相关源码解读;第五篇文章介绍step内循环训练相关源码解读;第六篇文章介绍Resume方法内容,包含继承数据、继承优化器、继承模型等实现完整断点续训功能。 而本篇为第三篇文章,主要解读优化器与数据相关源码内容。

2024-05-15 22:45:00 477

原创 第十三节 huggingface的trainner解读与Demo

在huggingface中,有关trainer内容实在太多了,我将布局6篇文章来构建有关内容。第一篇文章介绍参数;第二篇文章给出一个完整Demo,并介绍trainner源码的整体结构,呈现一个整体框架;第三篇文章介绍给出数据构造、优化器构建方法源码解读;第四篇篇文章介绍epoch外循环训练相关源码解读;第五篇文章介绍step内循环训练相关源码解读;第六篇文章介绍Resume方法内容,包含继承数据、继承优化器、继承模型等实现完整断点续训功能。 而本篇为第二篇文章,主要给出一个列子与训练框架。

2024-05-13 16:48:12 301

原创 监听进程结束并自动运行新进程与虚拟环境智能切换的sh脚本

在编程中,等待进程结束或许是一个很长时间,特别是深度学习。那么这种等待发生在晚上是一个不友好现象,为避免等待情况。我写了一个sh脚本,帮助监听PID,一旦PID进程结束,立即启动我们想运行程序(通常为模型训练),这样我们就不必监控此进程了。当然,深度学习也会涉及自动启动虚拟环境等状况,使其更加智能,我也会在本文中给出sh文件书写方式。当然想智能切换环境整合到进程上面,也是可以的。请读者自行整合。

2024-05-11 09:54:56 292

原创 第十一节 LLAVA模型lora训练(包含lora权重预加载与源码解读)

前面文章,基本已经给出LLaVA的推理相关内容,也给出相应训练等命令内容,以及相关权重等查看与比较内容。却没有与训练相关源码解读。为此,本篇文章介绍LLaVA模型是如何构建model,也是如何加载相应权重内容。我将会结合源码,详细梳理。我相信,看了此篇文章将不在为模型训练而困惑,也能帮助读者进一步理解源码,以此作为基准,方便后续对模型更改或使用其它架构大模型。当然,后面会涉及到很多与huggingface的trainer相关内容,我也会在后面篇章中给与介绍。

2024-05-09 21:00:00 949

原创 Mamba结构的Demo源码解读

深度神经网络(DNNs)在AI任务中表现卓越,其中传统的多层感知器(MLP)或全连接(FC)层构成基本架构。卷积神经网络(CNNs)通过卷积和池化层处理平移不变数据,循环神经网络(RNNs)处理序列数据。Transformer引入了注意力机制,如自注意力和交叉注意力,解决了局部关系限制,并在NLP和视觉领域表现出色。视觉Transformer核心是其长距离依赖关系和大数据集利用能力,显著提高了图像分析能力。Mamba结合二者能力,强势登场。为此,本文不在介绍复杂推理,而使用代码解读Mamba,并供读者参考。

2024-05-08 22:30:00 1839

原创 第八节 LLaVA模型CLI推理构建custom推理代码Demo

我在第七节介绍了cli.py推理源码解读,而我也因项目需要构建了推理demo,我们是用来自动生成标签和推理需要。想了想,我还是用一节将我的代码记录于此,供有需求读者使用。本节,介绍更改cli.py代码,实现一张图像推理、也为需要grounding的读者提供如何在图上给出目标box。我测试官方提供lora与非lora权重,我发现非lora效果会比lora好。当然这是我测试工程数据得到结论,只做参考。

2024-04-29 22:55:32 602

原创 第十二节 huggingface的TrainingArguments与trainner参数说明

在huggingface中,有关trainer内容实在太多了,我将布局6篇文章来构建有关内容。第一篇文章介绍参数;第二篇文章给出一个完整Demo,并介绍trainner源码的整体结构,呈现一个整体框架;第三篇文章介绍给出数据构造、优化器构建方法源码解读;第四篇篇文章介绍epoch外循环训练相关源码解读;第五篇文章介绍step内循环训练相关源码解读;第六篇文章介绍Resume方法内容,包含继承数据、继承优化器、继承模型等实现完整断点续训功能。 而本篇为第一篇文章,主要解读参数用法与含义。

2024-04-26 11:08:22 924

原创 Groma: Localized Visual Tokenization for Grounding Multimodal Large Language Models论文解读

具有区域的多模态大模型,除了整体图像理解之外,Groma 还擅长区域级任务,例如区域描述和视觉grounding。此类功能建立在本地化视觉标记化机制的基础上,其中图像输入被分解为感兴趣的区域,然后编码为区域标记。通过将区域标记集成到用户指令和模型响应中,我们无缝地使 Groma 能够理解用户指定的区域输入并将其文本输出转化为图像。此外,为了增强 Groma 的接地聊天能力,我们利用强大的 GPT-4V 和视觉提示技术,策划了一个视觉 grounded的指令数据集。

2024-04-25 20:00:00 1226

原创 第十节 LLAVA模型训练流程与方法

最近,有些忙,正在处理相关实验。很多东西我已实现,但没有时间组成文章。很抱歉。我之所以写一篇模型训练流程方式,是想借此告知LLAVA模型训练流程,不至于我下次说到模块细节而大脑没有整体结构。因此,我写了此篇文章,本文主要介绍如何训练模型以及训练模型步骤是哪些,最终构成模型训练完整流程与源码完整流程。只有语言模型结构。

2024-04-19 22:30:00 1069

原创 Mini-Gemini: Mining the Potential of Multi-modality Vision Language Models论文解读

随着大型语言模型(LLMs)的快速发展,将多模态输入的强大能力融入视觉语言模型(VLMs)已成为当前模型的核心部分。为了弥合模态鸿沟,已有研究尝试将视觉与LLMs结合,从图像到视频都有涉及。尽管取得了进步,但学术界的努力与GPT-4和Gemini等成熟模型的强大性能之间仍存在显著差距,这些模型是基于大量数据和资源训练的。

2024-04-19 14:20:54 1406

原创 第七节 LLaVA模型CLI推理源码解读(多轮对话推理方式与原理(prompt与assistant))

为什么介绍cli.py方式进行推理呢?答案很简单,我想通过这个代码告知读者,模型是如何进行推理的,明确输入内容处理方式和模型输出内容,以及多轮对话输入与模型输出内容,而借助推理等方式是需要使用服务啥的客户端或服务端等,是比较麻烦的工程问题。因此,本文将介绍cli推理方式,露骨告知其推理原理与整个数据流程。同时,我也将使用列子与结果,实现三轮对话,说明模型如何工作或完成对话能力。然而,这部分内容和我之前数据章节有些关联,请大家自行查阅。

2024-04-09 20:45:00 1127

原创 模拟多模态大模型gradio使用教程

最近,在看多模态推理模块,涉及到gradio相关用法。介于此,我将介绍网页界面gradio如何与大模型结合使用,实现与模型交互。我主要用到gr.Row()与gr.Column()方法实现界面部署,使用button方法触发事件,以及如何界面输入或输出使用图片等内容。读懂该部分基本已可实现大模型界面基本设置,也能更易解读别人源码。

2024-04-08 17:54:27 2054 1

原创 自动构建文件(exp->exp1->exp2方式,increment_path函数)

这里,我将介绍一个函数用于文件夹重复筛选,该函数来源yolov5,以v5举例,训练exp文件,若遇到存在exp就建立exp2路径。我觉得这个功能比较实用,代码也比较少。我作为记录写于博客,便于快速复用。

2024-04-07 13:45:40 220

原创 第六节 LLaVA模型数据处理源码解读(input_ids/labels/attention_mask/image,上篇)

本篇文章直接介绍llava模型数据加工部分,整体结构说明llava多模态模型输入数据格式,其中包含input_ids/labels/attention_mask与image格式,并给出对应代码位置与整个数据加工流程。最重要,通过debug给出数据解释与代码解读,也通过一个真实数据给出模型输入格式说明。当你阅读完此篇文章,绝对透彻理解llava数据加工过程与内容。显然,一篇博客是无法呈现整个数据细节,我将继续下篇博客呈现数据细节处理。result = input.ne(3) # torch.ne函数调用。

2024-04-02 15:29:45 1995

原创 图像描述(image caption)模型简单demo(源码理解原理)

图像描述模型简单理解是通过图像给出一段描述内容,实际也类似一种生成模式,和我一篇博客讲的对话模型相似。然而,网络很少从代码层次去说明图像描述具体做法与细节。基于此,我原创一个简单模型,旨在帮助理解原理,但不具备很好效果能力。涉及到文本相关内容,文本数据最终都是转为对应字典索引代表其文本内容,输入模型加工,实现文本相关任务,图像描述模型也不列外。点击这里# 我这里假设构造一个图像特征是一个且对应描述也是一个vocab_size = 11 # 字典大小,也是后面概率预测数,一般是32000。

2024-03-16 10:00:00 1789 1

原创 史上最全AP/mAP通用代码实现(yolov5 txt版本)-下

史上最全AP、mAP详解与代码实现”文章(这里)已经介绍了map相关原理,且给出相应简单代码实现AP方法。然将AP计算融入模型求解AP结果,可能是一个较为复杂的工程量。我也在http://t.csdnimg.cn/j410Y博客分享基于模型构造一个即插即用计算map的相关模块代码,使用者只需复制我的模块,即可使用。然,之前方法是需要使用xml格式,依然对yolo模型不甚友好,我再此修改为txt方式,使用yolo本身数据实现small、medium、large等相关AP或AP0.75等结果预测。

2024-03-08 11:31:51 1972 4

原创 第五节 LLaVA模型推理命令(包含lora训练权重推理方法)

LLAVA模型训练方式有预训练、微调训练,而预训练需要大量算力与数据支持,我们将不在重点考虑。对于微调,也因其计算资源导致成本较高,一般不会采用全量微调方式,而是多采用PEFT方式完成,而PEFT代表的Lora微调模型性价比较高。介于此,Lora微调需要合并权重方可实现,在于我个人摸索下实现了LLAVA模型lora训练的推理。为此,我将LLAVA所有推理方式记录于此。。

2024-03-07 15:07:47 1258

3d检测-点云检测-深度估计+世界、相机、像素坐标相互转换+刚性运动+深度值转点云坐标、点云坐标转像素坐标、标签值转像素坐标方法

这是一个kitti数据集实验方法,包含深度值转点云坐标、点云坐标转像素坐标、标签值转像素坐标内容。 data:kitti数据格式内容 depth2velo.py:kitti深度图转相机坐标再到kitti格式的点云坐标,可用于深度估计方法 label_bbox2pixel_img.py:kitti的label如何转到像素坐标,可用于3d检测 lidar2pixel_img.py:kitti的点云坐标转到像素坐标逻辑,可用于自动驾驶 out_dir: python代码实现后保存结果内容 object+depth model: 是我用一个目标检测模型与深度估计模型结合生成展示效果,以及坐标转换结果 那么,本资源是一个kitti数据集探索内容,涉及标签label的3d如何转到像素坐标方法与逻辑,涉及kitti深度图如何转到相机坐标再到点云坐标(世界坐标),涉及kitti点云坐标转到像素坐标。你看明白这个代码,你明白如何将深度估计模型转为相机坐标再转到任意世界坐标。 当然,我们选择kitti数据,绝大多数有关3d模型都会使用,这样理解数据就更好理解模型。

2024-09-11

大语言模型+llama3+代码+学习可运行llama3代码

本项目基于Meta最新发布的新一代开源大模型Llama-3开发,是Chinese-LLaMA-Alpaca开源大模型相关系列项目(一期、二期)的第三期。本项目开源了中文Llama-3基座模型和中文Llama-3-Instruct指令精调大模型。这些模型在原版Llama-3的基础上使用了大规模中文数据进行增量预训练,并且使用精选指令数据进行精调,进一步提升了中文基础语义和指令理解能力,相比二代相关模型获得了显著性能提升。 我已将如何训练+推理以及vscode配置等内容放入文件夹,你可直接下载按照要求执行,以便进一步解读与学习。当然,我也会在博客解读代码细节,以此帮助大家对大语言模型理解。

2024-07-25

多模态大模型+llava教程token+input-ids-labels+模型输入格式

本篇文章直接介绍llava模型数据加工部分,整体结构说明llava多模态模型输入数据格式,其中包含input_ids/labels/attention_mask与image格式,并给出对应代码位置与整个数据加工流程。最重要,通过debug给出数据解释与代码解读,也通过一个真实数据给出模型输入格式说明。当你阅读完此篇文章,绝对透彻理解llava数据加工过程与内容。上一篇文章给出了数据处理大轮廓,本篇文章将解读LazySupervisedDataset类的__getitem__函数内容。 而该文件用于理解input_ids与labels如何生成。

2024-06-14

目标检测指标map+map计算代码+map计算列子(包含gt与pred输入)

“史上最全AP、mAP详解与代码实现”文章([这里](http://t.csdnimg.cn/VMSSn))已经介绍了map相关原理,且给出相应简单代码实现AP方法。然将AP计算融入模型求解AP结果,可能是一个较为复杂的工程量。恰好,我也有一些这样的需求,我是想计算相关DETR的map指标。我将构造一个即插即用计算map的相关模块代码,使用者只需赋值我的模块,即可使用。同时,为了更好快速使用,我将基于通用模型yolo为基准介绍map通用模块(你有疑问,yolo已有val.py可测试map,但yolo无法测出small、medium、large等相关AP或AP0.75等结果)。本文将直接介绍计算map核心代码简单列子,在此基础上介绍整个即插即用map计算模块使用方法与代码解读。该资源便是列子内容,可参考“史上最全AP、mAP通用代码实现(即插即用-基于yolo模型)”博客。

2023-12-24

RT-DETR+auto-train-detect+RTDETR-run

本文章基于客户一键训练与测试需求,我使用u公司的yolov8集成的RTDETR模型改成较为保姆级的``一键``操作的训练/预测方式,也特别适合新手或想偷懒转换数据格式的朋友们。本文一键体现数据格式为图像与xml,调用train.sh与detect.sh可完成模型的训练与预测。而为完成该操作,模型内嵌入xml转RTDETR的txt格式、自动分配训练/验证集、自动切换环境等内容。接下来,我将介绍如何操作,并附修改源码。 本文一个目的,傻瓜式训练与预测,通过sh脚本实现3个任务, ①、虚拟环境自动切换 ②、数据格式自动转换,输入为图像文件与对应xml文件自动完成rtdetr模型训练与预测数据格式 ③、模型自动训练与预测,且只需执行sh train.sh或 sh detect.sh即可实现

2023-12-21

目标检测+RTDETR+训练与预测代码

使用Ultralytics公司的yolov8版本集成RTDETR模型,可用于训练与预测。本文件包含如何训练的命令与预测py代码及权重和数据集,可直接执行进行训练或预测。

2023-12-19

vscode-main+deepspeed进行debug+vscode配置deepspeed环境debug代码

最近在研究deepspeed相关内容,但使用命令方式无法单步调式调用代码的问题,若直接离线看代码,在一定程度上降低效率。同时,使用deepspeed方式debug代码内容较少。为此,我特意在少有信息中和代码实验验证完成基于vscode对deepspeed进行debug方法。特别的,该方式不仅适合deepspeed命令debug,也适用torchrun命令debug,更能延伸其它命令debug模式。本文内容分为三部分,第一部分介绍如何使用vscode传递参数debug;第二部分介绍如何使用deepspeed进行debug;第三部分介绍vscode通用命令方式进行debug。 原文解说:https://editor.csdn.net/md?not_checkout=1&spm=1001.2014.3001.9614&articleId=134992123

2023-12-14

CV-gronding-dino,tag2text,ram,ram++-原文重点翻译-论文解读

随着SAM模型分割一切大火之后,又有RAM模型识别一切,RAM模型由来可有三篇模型构成,TAG2TEXT为首篇将tag引入VL模型中,由tagging、generation、alignment分支构成,随后才是RAM模型,主要借助CLIP模型辅助与annotation处理trick,由tagging、generation分支构成,最后才是RAM++模型,该模型引入semantic concepts到图像tagging训练框架,RAM++模型能够利用图像-标签-文本三者之间的关系,整合image-text alignment 和 image-tagging 到一个统一的交互框架里。作者也介绍将tag引入Grounding DINO模型,可实现目标定位。为此,本文将介绍这四篇文章。

2023-12-09

CogVLM论文+翻译

尽管部分博客已对CogVLM论文有解读,但总归是夹杂自己理解内容,也不好快速与原文对照。介于此,我在原文重要部分添加了个人翻译笔记,为更多想快速阅读朋友很好提供参照,若有喜欢可自行下载使用。

2023-11-28

文本提取+文本关键词标注+利用词库匹配文本关键词

这个一个传统简单python脚本,用于处理基于已有词库匹配文本中存在的关键词查找。

2023-11-15

NLP(BERT)+vocab.txt+中/英文转token+内容转模型识别符号

NLP语言模型、多模态模型等的中/英文编码字符map表,此文件来源bert模型内容,可供读者查看其内容。

2023-10-13

yolov5+auto-train-detect+yolov5-run

本文章基于客户一键训练与测试需求,我将yolov5模型改成较为保姆级的``一键``操作的训练/预测方式,也特别适合新手或想偷懒转换数据格式的朋友们。本文一键体现只需图像文件与xml文件,调用train.sh与detect.sh可完成模型的训练与预测。而为完成该操作,模型内嵌入xml转yolov5的txt格式、自动分配训练/验证集、自动切换环境等内容。接下来,我将介绍如何操作,并附修改源码。

2023-09-14

yolov5部署+onnx-cpp-tensorrt+onnx的yolov5部署源码

本资源属于我的cuda专栏教程是C++版本基于onnx的yolov5部署代码。而我教程介绍如下: 随着人工智能的发展与人才的内卷,很多企业已将深度学习算法的C++部署能力作为基本技能之一。面对诸多arm相关且资源有限的设备,往往想更好的提速,满足更高时效性,必将更多类似矩阵相关运算交给CUDA处理。同时,面对市场诸多教程与诸多博客岑子不起的教程或高昂教程费用,使读者(特别是小白)容易迷糊,无法快速入手CUDA编程,实现工程化。 因此,我将结合我的工程实战经验,我写了CUDA系列教程专栏,帮助读者(或小白)实现CUDA工程化,掌握CUDA编程能力。学习我的教程专栏,你将绝对能实现CUDA工程化,完全从环境安装到CUDA核函数编程,从核函数到使用相关内存优化,从内存优化到深度学习算子开发(如:nms),从算子优化到模型(以yolo系列为基准)部署。最重要的是,我的教程将简单明了直切主题,CUDA理论与实战实例应用,并附相关代码,可直接上手实战。我的想法是掌握必要CUDA相关理论,去除非必须繁杂理论,实现CUDA算法应用开发,待进一步提高,将进一步理解更高深理论。

2023-09-09

空空如也

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

TA关注的人

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