- 博客(297)
- 收藏
- 关注

原创 yolov5的TensorRT部署--warpaffine_cuda核函数
从0到1实现基于tensorrt的yolo部署教程 ---仿射变换cuda核函数
2022-07-12 09:43:59
1593
1

原创 yolov5的TensorRT部署--动态batch
从0到1实现基于tensorrt的yolo部署教程 http://t.csdn.cn/HUn4T,请点击该链接,即可看到全文本文对于上面的案例,从多batc的角度详细讲解对于充分多batch,能大大提升模型的检测速度,例如多个视频流进行目标检测,我们可以获取多个视频流中的图片,都多张图片一起送往一个网络里进行推理。在生成TensorRT模型的代码,我们应该加入以下代码2. 在模型推理时的代码在推理的时,如何将设置显存和内存,并且将输入的数据与指定的内存和显卡关联在一起,这是多batch的难点batc
2022-06-25 21:46:40
3979
2

原创 openvino的入门--c++部署的图像分类为例
OpenVINO是英特尔基于自身现有的硬件平台开发的一种可以加快高性能计算机视觉和深度学习视觉应用开发速度工具套件,本文以图像分类的案例手把手叫你如何使用OPENVINO
2022-06-09 20:22:38
3974
1

原创 laneatt代码复现和用自己采集的视频来测试
代码链接:https://github.com/lucastabelini/LaneATT1. 环境配置#代码下载python main.py test --exp_name my_r18_culane --view all# 新建虚拟环境conda create -n laneatt python=3.8 -y#激活虚拟环境conda activate laneatt# 安装torch和torchvisionconda install pytorch==1.6 torchvision
2022-01-09 22:43:08
5934
40

原创 Basler 工业相机与Python开发
1.Pylon Viewer 设置为什么要安装Pylon Viewer ?为了对basler相机进行参数设置,例如曝光时间调节、ip设置官网2.基于python的basler相机获取图像2.1pylon安装并导入1).下载pypylon(下载地址)2).在下载好的文件夹中,打开终端并source activate到要安装的虚拟环境里,使用pip install ***。注:如果 1.7.2版本安装后,不能使用,尝试安装低版本的(例如1.6.0)导入代码from pypylon impor
2021-05-19 10:11:17
7821
原创 wav音频文件的介绍
常见的采样频率包括有8,000 Hz (8 kHz)、16,000 Hz (16 kHz)、22,050 Hz (22.05 kHz)和44,100 Hz (44.1 kHz)等。保存的音频文件是wav(waveform audio file format),wav是一种用于存储音频数据的文件格式,由微软和ibm联合开发。fmt_chunk_len 是用于标识 fmt 块长度的字段,通常是 16,它告诉解析 WAV 文件的软件或库,fmt 块中包含了多少字节的数据。二. 音频专业词的解释。
2024-11-28 18:32:12
1022
原创 Linux麦克风录音实战
在 Linux 上使用麦克风进行录音可以通过多种方式实现,包括使用命令行工具、图形界面应用程序以及编程接口。下面我将介绍几种常见的方法,从简单的命令行工具到使用 PortAudio 库进行编程。
2024-11-23 00:00:12
1241
1
原创 对字符串中的阿拉伯数字进行转换成中文小写数字
通过静态声明std::wstring_convert实例,我们复用了相同的转换器,这样可以提高效率。程序首先将输入的std::string通过from_bytes转换为宽字符串进行处理,然后将处理后的宽字符串再通过to_bytes转换回多字节字符串。在C/C++中,使用单引号’ ‘用于表示单个字符,比如’A’。但是中文字符由多个字节组成,不能用单引号正确表示,这会导致编译器将其解析为未定义的多字符常量。要解决这个问题,确保使用宽字符或者字符串来表示非ASCII 字符。
2024-10-12 14:51:02
258
原创 大模型微调---qwen实战
Qwen是阿里云开发的大语言模型,整个qwen系列的模型,由base模型、rm模型、chat模型、code模型、math模型等等。qwen采用chatml样式的格式来进行模型训练,chatml格式可以时模型有效区分各类信息,可以增强模型对复杂会话的处理分析能力。对于每个问题,给出若干答案,然后工人进行排序,而奖励模型就是利用排序的结果来进行反向传播。
2024-08-30 11:34:15
4689
原创 一、大模型的基本概率、工作原理及其微调
chagt、open ai、大模型、跨模态大模型等人工智能的词语, 在近年来越来越火。而当我们讲大模型时,不仅仅是指大语言模型,这两个是不一样的概念。:指定是机器学习中使用的庞大的、复杂的算法模型,它们可以处理和分析大量的数据,用于各种任务,例如图像识别、自然语言处理等。甚至通过一个模型(多模态大模型)来同时处理文本、图像、视频、音频等多种数据类型,通过融合不同模态的数据,提供更为全面和准确的理解和分析。:大语言模型是大模型的一种,专门用于处理和理解自然语言,如文本生成、语言翻译等。
2024-08-28 19:29:07
993
原创 利用modelscope下载模型
ModelScope作为一个先进的“模型即服务”(MaaS)平台,它的核心在于汇聚人工智能领域的尖端模型,降低了在现实世界应用这些前沿技术的门槛。该平台通过ModelScope库展现了其强大功能,这一库专为简化开发者体验而设计,无论是在计算机视觉(CV)、自然语言处理(NLP)、语音识别、多模态分析,还是科学计算领域,它都能提供一个统一、高效的接口去执行推理、定制训练及性能评估任务。
2024-08-18 08:35:11
1791
原创 jenkins的简单使用
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
2024-06-03 20:16:44
1176
原创 lama-cleaner中的Paint-by-Example使用
Lama Cleaner是一个免费的、开源的、完全自托管的修复工具,里面提供了很多最前沿的AIGC模型。可以使用它从图片中删除任何不需要的物体、缺陷、人物,或删除和替换图片上的任何内容。本文章详细介绍了该工具的所有功能,并体验了下每个功能的实际效果。
2024-05-21 16:15:51
660
原创 Linux下CPU频率和核心数的锁定设置
在上面的命令中,-c 选项指定了 CPU 的编号,-f 选项指定了 CPU 的频率。请注意,你的设置可能会被 CPU 的自动动态频率调节覆盖。如果你希望永久禁用动态频率调节,你需要 将 CPU 的频率调节器设置为 “userspace”。此外,使用命令查询cpu各线程的频率。
2024-05-06 20:25:31
2709
1
原创 perl 交叉编译
Perl是一种高级、通用、解释型、动态的编程语言。Perl设计的初衷是为了更好地处理文本处理任务,但随着时间的发展,现在它已经变成了一种强大的一般目的编程语言。Perl支持面向过程和面向对象的编程风格。
2024-04-08 17:59:56
947
1
原创 perf的介绍
perf 是 Linux 系统中的一个强大的性能分析工具,用于收集系统的各种性能数据。这些数据可以是 CPU 时间、硬件事件,如 cache misses,或者内核和用户空间的函数调用。perf 可以用于实时分析(sampling mode)或者统计分析(counting mode)。
2024-03-22 16:25:43
736
原创 NFS(网络文件系统)介绍与实践
NFS(网络文件系统)是一种在UNIX/Linux系统中常用的文件共享协议。通过NFS,你可以将一台机器(NFS服务器)上的一个或多个目录挂载到另一台机器(NFS客户机)上,使得在客户机上可以像操作本地文件一样操作服务器上的文件。完成以上步骤后,你应该能够在客户机的/mnt/nfs目录下看到服务器的/nfs_share目录中的内容。你可以在客户机上对这个目录进行操作,这些操作会直接反映到服务器端的/nfs_share目录中。首先,你需要在两台机器(NFS服务器和NFS客户机)上安装NFS服务。
2024-03-21 17:01:14
560
原创 交叉编译介绍及实战
交叉编译是一种操作系统或者硬件架构上生成在另一种操作系统或者硬件架构上运行的代码的过程。通常情况下,我们会使用cmake来配置和管理跨平台的项目。假设我们要在Linux上(host)为ARM设备(target)交叉编译一个Hello World程序。我们可以使用GCC交叉编译工具链(toolchain)。
2024-03-05 20:41:13
1248
原创 基于yolov8的半自动标注
在深度学习领域中,标注是一项非常重要的工作,因为许多深度学习模型都依赖于有标注的数据进行训练。然而,标注数据是一个费时费力的工作,因此人们希望有一种方式来对标注过程进行自动化。这就是“半自动标注”的来源。半自动标注是一种折中的方式,它结合了人类的判断能力和计算机的自动化能力。在一个半自动标注的系统中,步骤如下:1、初始的标注工作通常由人类来做;2、这些被标注的数据被用来训练一个深度学习模型,使模型能做出预测并自动标注新的数据。3、但模型预测出的标注可能会有误,所以仍然需要人类进行审核和校正。
2024-02-27 14:59:29
2059
1
转载 X-AnyLabeling标注工具的使用
项目链接:https://github.com/CVHub520/X-AnyLabeling/tree/mainX-AnyLabeling 是一款全新的交互式自动标注工具,其基于 Labelme 和 Anylabeling 等诸多优秀的标注工具框架进行构建,在此基础上扩展并支持了许多丰富的模型和功能,并借助Segment Anything和 YOLO 系列等目前主流和经典的深度学习模型提供强大的 AI 能力支持。
2024-01-30 12:08:27
2115
原创 对‘float16_t’的引用有歧义
如果加了using namespace cv;后,OpenCV库中也有一个名为float16_t的类型定义,与最初的float16_t存在冲突,导致编译失败。1、不使用using namespace cv;而是在每个需要使用opencv的地方手动指定命名空间,如cv::Mat、cv::imread等。3、如果可能,也可以考虑使用其他没有命名冲突的浮点类型,如float, 或者double等。float16_t 是一个半精度浮点数类型,通常在一些需要高性能和低精度的场合被使用。
2024-01-04 15:33:10
1076
原创 颜色直方图
一种统计报告图,用于展示分布情况。在图像处理中,我们通常用直方图来描述图像的灰度或色彩分布。直方图的两个轴是:值(例如亮度或颜色)和像素数量。优点:一是对于任意一个图像区域,直方图特征的提取简单方便;其二,直方图表征图像区域的统计特征,可以有效表示多模态的特征分布,并且本身具备一定的旋转不变性。以亮度值为横轴,该像素的数量为纵轴。例如,一个亮度直方图可能会显示图像中有多少像素是完全黑色的(亮度为0),有多少像素是完全白色的(亮度为255,如果你用一个8位的值来描述亮度的话),等等。
2024-01-03 09:46:25
788
原创 NNI --模型剪枝
剪枝是压缩神经网络模型的常用技术。剪枝方法探索模型权重(参数)中的冗余,并尝试删除/修剪冗余和非关键权重。冗余元素从模型中修剪,其值归零,我们确保它们不参与反向传播过程。修剪深度学习模型有三种常见做法,NNI 通过在关键修剪阶段工作来支持上述所有修剪实践。
2023-12-28 18:00:23
1396
原创 行人重识别数据集-统一为market1501数据集进行多数据集联合训练
常用的数据集:数据集下载链接:https://kaiyangzhou.github.io/deep-person-reid/datasets.html。
2023-12-25 11:19:24
2232
原创 Bytetrack学习笔记
ByteTrack是字节跳动发布的一个MOT跟踪算法(“MOT”是“Multi-Object Tracking”)。先前的MOT算法一般在完成当前帧的目标检测后只会保留置信度比较大的检测框用于进行目标跟踪,比如图中置信度为0.9和0.8的目标框。而在BYTE中,作者保留了所有的检测框(图中的所有四个黄色的检测框)并且通过阈值将它们分成了两份。
2023-12-23 16:41:37
1748
1
原创 余弦相似度
余弦相似度是一种计量两个向量间相似度的数值方法。具体而言,它会通过测量两个向量间的夹角来确定他们有多么相似。这里,A·B 表示 A 和 B 的点积;||A|| 和 ||B|| 分别是 A 和 B 的向量长度(范数),它们可以通过求每个元素的平方之和再取平方根得到。余弦相似度的取值范围是 -1 到 1 之间。当两个向量的方向完全一致时(也就是夹角为 0°),余弦相似度为 1;当两个向量的方向完全相反时(也就是夹角为 180°),余弦相似度为 -1;
2023-12-22 15:49:44
1243
原创 灰度化、二值化、边缘检测、轮廓检测
图像的二值化,就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的只有黑和白的视觉效果。常用的方法就是设定一个阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。其实图像二值化的方法有不下二十种。一般分为Global和Local两类,区别就是寻找那个阈值的时候使用到了哪里的信息。但是单一的图像二值化方法(指基于直方图的二值化)往往比不过其他的方法,因为,毕竟你信息丢了太多。但是二值化快啊……你可以进行一百次不同的二值化,然后再得到一个更好的结果……
2023-12-21 16:00:27
2133
原创 Triplet Loss三元组损失函数
定义了一个名为triplet_loss的函数,输入参数为embedding(嵌入特征)、targets(目标标签)、margin(用于增加正负样本之间间距的值)、norm_feat(决定是否对特征进行归一化)以及hard_mining(决定是否启动困难样本挖掘)。
2023-12-20 10:47:24
7209
原创 ECDSA host key for 10.10.35.174 has changed and you have requested strict checking. Host key verific
known_hosts文件:你每连接一个新的服务器时,第一次连接的时候都会提示你说这是一台新的主机,询问你是否要连接,之后则会将这台主机的一些信息添加进这个文件,之后如果这个主机的信息没有改变,则不会再次询问你,否则会再次询问你是否连接。这个错误消息表明远程服务器在你上次连接时的主机密钥(host key)发生了变化。主机密钥是SSH中用于确保你连接到正确服务器而不是一个恶意冒充者的安全特性。连接远程服务器的时候,如果会出现以下问题;
2023-12-18 11:30:24
628
原创 yolov8测试图片并保存预测结果,用于map的计算
当我们使用yolov8进行测试指定文件夹里的图片时,为了计算相应的map,需要先将yolov8的预测结果保存为txt文件;然后将txt文件中的格式(类别、框的中心点和高宽,置信度)转换成符合要求的格式(类别、置信度、框左上角坐标点、框右下角坐标点)。最后运行map计算代码。
2023-10-08 20:18:35
13008
9
原创 利用mAP计算yolo精确度
当将yolo算法移植部署在嵌入式设备上,为了验证算法的准确率。将模型测试的结果保存为txt文件(每一个txt文件,对应一个图片)。此外,需要将数据集中的标签由[x,y,w,h]转为[x1,y1,x2,y2]。最后,运行验证代码。
2023-09-30 17:03:45
3030
原创 YOLOV8导出onnx模型,再导出RKNN模型
利用yolov8官方源码修改部分代码,导出onnx模型。再将onnx模型导出rknn模型。
2023-09-15 09:48:07
4800
4
原创 rknn_server启动方法
rknn_server: 是一个运行在板子上的后台代理服务,用于接收PC通过USB传输过来的协议,然后执行板端runtime对应的接口,并返回结果给PC。
2023-09-06 19:58:59
3529
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人