- 博客(166)
- 收藏
- 关注
原创 深度图可视化显示(kitti)
kitti数据是一个通用数据,有关kitti的深度图像内容我已有博客介绍。这里,我将给出一个工具,用于显示深度值对应像素坐标再图像上,也给出深度值可视化显示内容。
2024-09-20 21:00:00 253
原创 windows系统visual studio编译器配置opencv库
windows10的opencv的安装opencv配置:包含目录:D:\SOFT\InstallPackage\eigen-3.4.0E:\SOFT\soft_other\opencv4.2\build\includeE:\SOFT\soft_other\opencv4.2\build\include\opencv2库目录:E:\SOFT\soft_other\opencv4.2\build\...
2024-09-14 13:56:00 419
原创 YOLOV5 onnx推理 python
pip install onnx coremltools onnx-simplifier3.使用onnx-simplier简化模型python-m onnxsim best.onnx best-sim.onnx# coding=utf-8import cv2import numpy as npimport onnxruntimeimport torchimport torc...
2024-09-14 13:54:00 403
原创 爬虫代码 python
import requestsimport urllibimport osimport timeprint('欢迎使用Aking爬虫图片下载器!')time.sleep(0.5)print('欢迎使用Aking爬虫图片下载器!!')time.sleep(0.5)print('欢迎使用Aking爬虫图片下载器!!!')time.sleep(0.5)print('准备就绪!'...
2024-09-14 13:51:00 439
原创 kitti数据深度图转点云坐标计算方法与教程(代码实现)
kitti数据是一个通用数据,但里面点云坐标如何转到像素坐标以及对应点云转到像素坐标对应的相机坐标的深度值求解,也是一个较为麻烦的事情。如果你是小白,必然会在其中摸不着头脑。为此,本文分享kitti数据的点云坐标转像素坐标方法以及对应像素坐标的深度值求解方法,这也是本文重点介绍内容。而本文与其它文章不太相同,我们不纯粹讲解原理,而是使用代码直接转换,并在代码过程中说明其原理,我们也会给出完整代码。注:像素与深度值对转相机坐标内容就是给出深度值如何转3d相机坐标,该部分内容十分重要!
2024-09-11 21:45:00 1197
原创 kitti数据点云velo坐标转像素坐标与点云深度值计算方法与教程(代码实现)
kitti数据是一个通用数据,但里面点云坐标如何转到像素坐标以及对应点云转到像素坐标对应的相机坐标的深度值求解,也是一个较为麻烦的事情。如果你是小白,必然会在其中摸不着头脑。为此,本文分享kitti数据的点云坐标转像素坐标方法以及对应像素坐标的深度值求解方法,这也是本文重点介绍内容。而本文与其它文章不太相同,我们不纯粹讲解原理,而是使用代码直接转换,并在代码过程中说明其原理,我们也会给出完整代码。
2024-09-10 10:13:11 654
原创 kitti数据label的2d与3d坐标转为像素坐标方法与教程(代码实现)
kitti数据是一个通用数据,但里面标定文件或标签文件等相互关心很有可能把大家陷入其中。为此,本文分享kitti数据的label标签内容转换,特别是标签的3d坐标转换到图像像素坐标,这也是本文重点介绍内容。而本文与其它文章不太相同,我们不注重kitti原理介绍,而是使用代码将其转换,并给出完整代码。先给出调用的主函数,然后在分别讲解,直接看代码如下:2、数据格式示意图因为要将其2d与3d坐标展现到图像中,需要获取图像数据,其代码如下:2、label标签数据获取读取标签txt文件内容,将其每个目标内容
2024-09-09 20:00:00 886
原创 kitti深度估计数据集介绍
最近,我也开始做深度估计模型,该内容属于CV另一个领域,我使用depth anythingv2实现深度估计内容。然而kitti数据一直都是3d重要内容,作者收集了长达6个小时的真实交通环境,数据集由经过校正和同步的图像、雷达扫描、高精度的GPS信息和IMU加速信息等多种模态的信息组成。作者还在数据集官网提供了光流、物体检测、深度估计等多种任务的Benchmark。本篇介绍KITTI深度数据内容。
2024-09-04 17:43:28 1109
原创 huggingface的参数使用(HfArgumentParser+parser.parse_args_into_dataclasses+TrainingArguments)
在使用大模型时候,我们经常遇到参数传参问题,如何构建一个参数方法,即可使用默认参数,也可使用命令方式传参,是大模型构建的第一步。而大模型经常使用HfArgumentParser+parser.parse_args_into_dataclasses+transformers.TrainingArguments等方式来实现。介于此,我解读了大模型通用构建方法,重在方法掌握,而参数如何构建可通过你自己的想法。数据类是一种 Python 类,它可以自动地为你生成一些特殊方法,如initrepr等。
2024-08-28 20:30:00 78
原创 多模态大模型视觉特征嵌入语言模型特征流程-(以MMLM的forward源码解读)
多模态大模型forward源码解读,我也是基于llava模型作为示例来解读。本篇文章主要贡献已知的input_ids与labels如何嵌入图像特征,获得新的input_ids与labels及attention_mask内容,再将其输入大语言模型方法内容,这也就是视觉模型特征如何嵌入语言模型特征的方法。那么,经过此文章你能知道视觉模型与语言模型如何运作以及对应数据如何运行与变化内容。
2024-08-21 15:33:13 229
原创 使用Python将xml标注文件转换为coco json格式
在计算机视觉领域,特别是目标检测任务中,不同的数据集采用了不同的标注格式。Pascal VOC数据集使用XML文件进行目标检测的标注,而Microsoft COCO数据集则采用JSON格式。为了方便模型训练,我们经常需要将XML格式的数据转换成JSON格式。本文将详细介绍如何用Python实现这一转换,并将代码分为几个模块进行讲解。通过上述步骤,我们可以将VOC XML格式的标注文件转换为COCO JSON格式,从而方便后续的模型训练。
2024-08-16 20:00:00 509
原创 基于huggingface模型训练的数据处理(load_dataset、.map、concatenate_datasets、train_test_split,data_loader)
本文主要介绍如何基于huggingface训练模式构造LLM自己的数据,类似torch的dataset方式来构建。本文给出大语言模型处理的loss标准与数据和标签结构,也调用huggingface的数据处理库,包含load_dataset载入数据、dataset.map映射数据、concatenate_datasets连接数据、train_test_split分割数据,以及如何构建类似torch的loader方式中的collate_fn函数,最终使用llama3构建了完整demo供读者参考。
2024-08-15 21:00:00 152
原创 大语言模型与多模态大模型loss计算
如果看了我前面文章,想必你基本对整个代码有了更深认识。实际上,大多大模型都是使用huggingface搭建,而大多LORA训练也是调用PEFT库。然而,LLaVA代码却没有相关VIT模型训练内容,也没有不同组合训练。而我也是想探索单独使用vit的lora训练、单独使用llm的lora训练或全都使用会有什么效果呢?因此,本篇文章将探索LLaVA如何按需构建LORA训练,我会给出如何构建参数与修改源码,也会给出我实验结果。
2024-08-08 20:00:00 265
原创 MoE专家模块Demo
随着MoE越来越火热,MoE本质就是将Transformer中的FFN层替换成了MoE-layer,其中每个MoE-Layer由一个gate和若干个experts组成。这里gate和每个expert都可以理解成是nn.linear形式的神经网络。既然如此,本篇文章将结合transformers结构构建一个MoE的demo供大家学习。该源码可直接使用。专家模块定义了一个名为Expert的PyTorch模块,代表了一个专家模块,用于对输入进行线性变换和非线性变换。nn.ReLU(),
2024-08-05 20:30:00 1011
原创 llama3源码解读之推理-infer
本项目是解读开源github的代码,该项目基于Meta最新发布的新一代开源大模型Llama-3开发,是Chinese-LLaMA-Alpaca开源大模型相关系列项目(一期、二期)的第三期。而本项目开源了中文Llama-3基座模型和中文Llama-3-Instruct指令精调大模型。这些模型在原版Llama-3的基础上使用了大规模中文数据进行增量预训练,并且使用精选指令数据进行精调,进一步提升了中文基础语义和指令理解能力,相比二代相关模型获得了显著性能提升。
2024-08-01 22:59:08 459
原创 llama3源码解读之准备
本项目是解读开源github的代码,该项目基于Meta最新发布的新一代开源大模型Llama-3开发,是Chinese-LLaMA-Alpaca开源大模型相关系列项目(一期、二期)的第三期。而本项目开源了中文Llama-3基座模型和中文Llama-3-Instruct指令精调大模型。这些模型在原版Llama-3的基础上使用了大规模中文数据进行增量预训练,并且使用精选指令数据进行精调,进一步提升了中文基础语义和指令理解能力,相比二代相关模型获得了显著性能提升。
2024-08-01 22:57:50 911
原创 huggingface的generate推理源码解读
大语言模型基本使用huggingface的generate方法进行推理。而我最近也在使用llama3代码,于是我写下一份huggingface的generate方法,帮助读者了解huggingface如何对大语言模型进行推理。同样,我和其它博客不太一样,我是按照源码来解读huggingface的generate方法。
2024-07-30 17:08:49 422
原创 第五节 LLaVA模型lora推理模型解读(下篇)
尽管推理我已给出相应说明,但为命令行方式完成推理。然并未给出其详细理论内容。基于此,本节是给出lora推理相关源码解读,帮助读者能明白llava的lora等推理方法的理解。本文主要介绍lora推理主函数源码解读、modelworker类源码解读与load_pretrained_model源码解读。
2024-07-19 21:15:00 198
原创 Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks论文解读
我们介绍了Florence-2,这是一种新型的计算机视觉基础模型的统一、基于提示表征适用各种视觉任务或视觉语言任务。虽然现有的大型视觉模型在迁移学习方面表现优秀,但在执行简单指令的多样化任务方面却存在困难,这表明它们难以处理各种空间层次和语义粒度的复杂性。Florence-2设计是根据文本提示作为任务指令并以文本形式生成描述的结果,无论是描述、目标检测、grounding还是分割。这种多任务学习设置需要大规模、高质量的标注数据。
2024-07-12 21:45:00 751
原创 第十八节 LLaVA如何按需构建LORA训练(视觉、语言、映射多个组合训练)
如果看了我前面文章,想必你基本对整个代码有了更深认识。实际上,大多大模型都是使用huggingface搭建,而大多LORA训练也是调用PEFT库。然而,LLaVA代码却没有相关VIT模型训练内容,也没有不同组合训练。而我也是想探索单独使用vit的lora训练、单独使用llm的lora训练或全都使用会有什么效果呢?因此,本篇文章将探索LLaVA如何按需构建LORA训练,我会给出如何构建参数与修改源码,也会给出我实验结果。
2024-07-09 21:00:00 312
原创 第十六章:基于开源大模型使用huggingface在deepspeed与accelerator下继承源码权重保存而实现resume与infer
本篇文章继续升级使用huggingface来灵活保存相关内容为模型推理使用。我使用llava开源模型对特征提取vit的lora、映射层微调、大语言模型lora训练等相关内容保存,而实现推理与resume功能。基于此,本篇文章会给出llava不同推理需要使用文件内容介绍、 deepspeed训练的resume加载相关内容与如何保存其相关内容等方法。最终,本篇文章升级deepspeed与accelerator方法下自由个性化的相关内容实现resume训练与推理过程。
2024-06-26 20:30:00 473
原创 TrainingArguments、ModelArguments、DataArguments参数使用(@dataclass)
理解llava相关参数传递方法,有利于我们对模型修改模块使用参数来控制。llava提供参数包含训练参数TrainingArguments、模型参数ModelArguments、数据相关参数DataArguments。这里,我将会使用Demo为大家解读,并在理解Demo后,继续以llava源码解读,使其理解使用方法,也会给出相应参数添加方法。
2024-06-21 22:00:00 237
原创 第六节 LLava模型数据处理源码解读(input_ids/labels/attention_mask/image,下篇)
本篇文章直接介绍llava模型数据加工部分,整体结构说明llava多模态模型输入数据格式,其中包含input_ids/labels/attention_mask与image格式,并给出对应代码位置与整个数据加工流程。最重要,通过debug给出数据解释与代码解读,也通过一个真实数据给出模型输入格式说明。当你阅读完此篇文章,绝对透彻理解llava数据加工过程与内容。上一篇文章给出了数据处理大轮廓,本篇文章将解读LazySupervisedDataset类的__getitem__函数内容。
2024-06-21 20:45:00 423
原创 第十五章:基于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 307
原创 第十四章:huggingface的LoRA原理与相关文件保存方法
在huggingface中,很多情况是使用LoRA方法来训练模型。有关LoRA训练获得权重与加载,以及如何LoRA继续resume训练等问题,尚未有一个较好文章说明。因此,本文将详细说明LoRA相关内容。首先介绍了LoRA(Low-Rank Adaptation)的原理及相关内容;其次也对训练相关各种模型权重、LoRA权重、配置文件、优化器、调度器以及训练器状态和随机状态保存方法;接着给出了关于LoRA训练与恢复方法Demo与介绍,包括LoraConfig配置文件介绍和PEFT的LoRA训练;
2024-06-14 22:42:11 286
原创 第十三章:huggingface的resume训练源码内容
想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。本篇文章基于上篇文章Demo解读相关resume源码内容,特别是权重等相关内容加载。
2024-06-14 22:39:58 230
原创 第十二章:huggingface的resume训练的Demo
想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。之前文章均是关于huggingface训练相关源码解读,而本篇文章将给出相关权重、状态等保存方法,构建一个resume的Demo。
2024-06-14 22:38:58 92
原创 第十一章:_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 91
原创 第十章:_inner_training_loop训练模型的内循环内容(step)
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:34:49 107
原创 第九章:_inner_training_loop训练模型的外循环内容(epoch)
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:33:31 113
原创 第八章:_inner_training_loop源码的优化器与策略内容
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:30:39 77
原创 第七章:_inner_training_loop源码的数据处理内容
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:28:07 75
原创 第六章:huggingface的_inner_training_loop源码与流程解读
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:24:53 122
原创 第五章:huggingface的Trainer.train()源码与流程解读
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:21:54 297
原创 第四章:构建Trainer的Demo
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:20:13 72
原创 第三章:huggingface的Trainner参数解读
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:17:58 172
原创 第二章:huggingface的TrainingArguments与Trainner参数
大模型基本使用huggingface来实现。对于不太理解其内容基本按照官网教程或相关博客等来实现。想进一步激发开源大模型在行业领域提升性能是棘手问题。该问题会涉及开源代码二次开发进行实验测试。基于此,本教程不同文字或理论介绍内容,而从源码解读其训练逻辑、权重保存、高效微调方法(LoRA)、断点续训方法、模型推理权重处理等方法。本教程所有内容完全依托huggingface源码与相关Demo验证来解读,助力大模型使用。
2024-06-14 22:12:35 351
原创 第一章: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 388
原创 T-Rex2: Towards Generic Object Detection via Text-Visual Prompt Synergy论文解读
我们呈现了 T-Rex2,一个高度实用的开放式目标检测模型。先前依赖于文本提示的开放式目标检测方法有效地概括了常见对象的抽象概念,但由于数据稀缺和描述限制,对于罕见或复杂的对象表示而言表现不佳。相反,视觉提示在通过具体的视觉示例描绘新对象方面表现出色,但在传达对象的抽象概念方面不如文本提示那样有效。鉴于文本提示和视觉提示的互补优势和劣势,我们引入了 T-Rex2,通过对比学习将两种提示融合到一个单一模型中。
2024-06-06 20:30:00 1345
3d检测-点云检测-深度估计+世界、相机、像素坐标相互转换+刚性运动+深度值转点云坐标、点云坐标转像素坐标、标签值转像素坐标方法
2024-09-11
大语言模型+llama3+代码+学习可运行llama3代码
2024-07-25
多模态大模型+llava教程token+input-ids-labels+模型输入格式
2024-06-14
目标检测指标map+map计算代码+map计算列子(包含gt与pred输入)
2023-12-24
RT-DETR+auto-train-detect+RTDETR-run
2023-12-21
目标检测+RTDETR+训练与预测代码
2023-12-19
vscode-main+deepspeed进行debug+vscode配置deepspeed环境debug代码
2023-12-14
CV-gronding-dino,tag2text,ram,ram++-原文重点翻译-论文解读
2023-12-09
CogVLM论文+翻译
2023-11-28
NLP(BERT)+vocab.txt+中/英文转token+内容转模型识别符号
2023-10-13
yolov5+auto-train-detect+yolov5-run
2023-09-14
yolov5部署+onnx-cpp-tensorrt+onnx的yolov5部署源码
2023-09-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人