自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (4)
  • 收藏
  • 关注

原创 YOLOv5 小目标检测、无人机视角小目标检测

YOLOv5 训练自己的小目标检测

2021-12-07 10:19:08 52510 147

原创 使用YOLOv3 训练行人检测模型

使用YOLO进行目标检测在保证速度的前提下能有较好的准确性,这篇文章是在yolov3的代码基础上进行修改为行人检测,由原来的20个分类改为识别person,使用tiny-yolo的进行训练和检测,最后能达到还不错的效果。1.数据集制作收集图片并标注,这是一件工作量较大的事情,所以我们直接使用了PASCAL VOC2007的数据集,抽取其中带有行人的图片。具体过程如下:1.1 创...

2018-04-22 14:32:29 21452 42

原创 Qwen1.5大语言模型微调实践

在人工智能领域,大语言模型(Large Language Model,LLM)的兴起和广泛应用,为自然语言处理(NLP)带来了前所未有的变革。Qwen1.5大语言模型作为其中的佼佼者,不仅拥有强大的语言生成和理解能力,而且能够通过微调(fine-tuning)来适应各种特定场景和任务。本文将带领大家深入实战,探索如何对Qwen大语言模型进行微调,以满足实际应用的需求。

2024-04-17 15:18:30 1815

原创 修改huggingface 的cache缓存路径

找到自己安装的huggingface_hub下的constants.py 文件,比如我的文件位置在 lib/python3.10/site-packages/huggingface_hub 下。使用hugging face 来跑代码时,往往会把模型缓存到系统目录下,比如我的ubuntu系统就缓存到~.cache目录下。把 default_home 修改为自己需要保存的文件路径即可。

2024-04-08 11:57:29 447

原创 使用conda创建python 虚拟环境

激活虚拟环境,可以看到默认为base,下面来介绍如何使用conda来创建python虚拟环境,因为在不同的工程中,对python等有不同版本需求,容易出现冲突。在安装过程中,需要阅读许可协议并接受,然后选择Anaconda的安装路径。默认情况下,Anaconda会安装在用户主目录下。(2)安装 Anaconda。(1)下载Anaconda。在cmd命令窗口,输入。

2024-03-22 17:24:25 525

原创 ubuntu下使用python3的venv虚拟环境

在激活的虚拟环境中,可以使用pip安装所需的Python库。在终端中进入要创建虚拟环境的目录,建议将虚拟环境放在项目根目录下的env目录中。这样就可以使用虚拟环境中的Python解释器来运行自己的python代码了。执行以下命令来进行安装python3-venv。退出后,终端提示符将恢复为正常的系统提示符。,表示当前虚拟环境已激活。激活后,终端提示符会显示。

2024-01-23 16:01:02 1057

原创 ncnn模型部署——使用VS2019把项目打包成DLL文件

把之前项目生成的DLL文件复制本项目中,同时自己的模型文件也要复制到本项目中,我这里直接复制到main.cpp同级目录下,然后在main.cpp中调用DLL的接口。这里我添加了mtcnn, arcface 等进行人脸检测与特征提取,添加对应的.cpp源文件和.h头文件。(1)配置pch.h文件,在头文件pch.h中定义宏,宏的作用的是允许该函数能够被外部访问,并直接调用。点击:“项目 -> 属性”,在 “C/C++ -> 预编译头” 中把预编译头设置为。然后重新编译,编译成功,并且生成了DLL文件。

2023-12-07 20:07:58 267

原创 ncnn模型在Windows VS2019环境下的部署

注: 为你刚刚解压的protobuf-3.4.0文件夹的根目录,如果cd无法切换进入到D盘,需要在cd命令与D:\命令之间加入一个 "/d" 就解决了,如:"cd /d D:\build_tools\protobuf-3.4.0"这里我直接下载编译好的 opencv-mobile-4.6.0-windows-vs2019.zip。,这里我使用的release版本,直接下载源码就可以了,新的release版本要下载full-source字样的代码包。

2023-12-07 17:22:53 445

原创 无监督学习算法Kmeans

这个算法的目标是最小化每个聚类内的距离和,即使得每个点与其所在聚类中心的距离之和最小。这里我们要介绍的Kmeans聚类算法,就是一种无监督学习算法,输入的训练数据不需要类别标签,而是通过计算数据点之间的相似性来对数据进行分类。有监督学习的目标是通过对训练数据的学习,实现对未知数据的预测和分类。训练数据不需要标签,算法只能使用输入数据进行学习,目标是找到输入数据之间的相似性和区别。(2)然后计算每个点到聚类中心的距离,将每个点分配到离它最近的聚类中心所在的簇中;(1) 首先随机选择K个点作为初始的聚类中心;

2023-09-25 20:41:26 456 1

原创 ubuntu20.04 更新到opencv4后出现代码编译错误问题解决

原因是:更新到opencv4版本之后,在系统目录中能找到 /usr/include/opencv4/opencv2 ,但没有 /usr/include/opencv2 ,找不文件和路径的问题。lpr_chinese_det.cpp:8:10: fatal error: opencv2/core/core.hpp: 没有那个文件或目录。直接从opencv源码来安装,需要先安装相关的依赖库,然后再去编译源码。make: *** [Makefile:14:lpr_chinese_det.o] 错误 1。

2023-07-05 15:42:05 516

原创 ubuntu 18.04系统python3.6 升级到 python3.9

然后自己验证一下安装的结果,在终端窗口输入python, python3 看版本信息输出是对的。

2023-06-20 11:54:33 2576

原创 python代码中[:] 和 [::] 的区别

需要注意的是,在 Python 中,[::] 也可以用于表示一个类的成员函数或成员变量,这时它的含义与上述含义不同。

2023-06-15 10:53:50 2485

原创 onnx模型转 ncnn 模型全连接层输出shape不对问题解决

模型的为5个分类,onnx的输出为[1, 5] 是正确的,但是跑ncnn模型发现输出为 [1, 8, 5] ,经过打印log分析,是 softmax层前面的 fc层导致的问题。A * B = [1, 200] * [5, 200] ,这个矩阵是不能正常计算的,由于维度不同不能直接计算,但是在执行代码的时候没出错的原因,可能是由于gemm分块计算的原因,然后最后输出为。A * B + C,对应的维度为 [1, 200] * [200, 5] + [5] => [1, 5] 输出维度正确。

2023-06-02 11:25:08 982

原创 基于yolov5的PCB缺陷检测

使用北京大学公开的PCB数据集,包含1386张图像,具有6种缺陷类型分别为:漏孔、鼠咬、开路、短路、杂散、杂铜。北京大学智能机器人开放实验室。

2023-05-24 14:19:54 4333 10

原创 OCR文字识别rec数据合成制作

自己的版本由 7.1.0 升级到了8.4.0,然后再运行 python run.py -c 10 发现还是有相同的错误,原因是自己的8.4.0版本还是没有这个Resampling 属性。去掉 Image.Resampling.LANCZOS和Image.Resampling.NEAREST 中的 Resampling 即可。在做文字识别的时候,往往由于自己的rec训练数据过少,需要自己生成一些数据来加入训练。即可生成10个文本行样本,保存在 out 目录下。来生成自己所需的数据。

2023-03-29 11:37:53 854 2

原创 yolov5模型转换为TensorRT模型时报错Your ONNX model has been generated with INT64 weights

因为我们的onnx模型参数类型是INT64, 然后TensorRT是不支持 INT64的。这就需要我们先把ONNX模型的精度降到 INT32,然后再进行转换为 TensorRT模型。

2023-03-14 17:59:19 2849 5

原创 使用onnxruntime-gpu 模型推理

更新onnxruntime版本,使用onnxruntime-gpu版本来推理

2022-08-09 16:04:09 10009 9

原创 在模型推理时合并BN和Conv层

在模型推理时合并BN和Conv层,能够简化网络架构,起到加速模型推理的作用,这里简单讲解一下如何合并及其代码

2022-07-06 11:26:10 1386 1

原创 python 将矩阵保存到txt文本文件

python保存矩阵到文件

2022-07-05 14:55:42 5987

原创 PPOCRLabel 安装报错解决办法

问题描述:在使用工具PPOCRLabel进行图片标注,在运行PPOCRLabel时报错信息如下:QObject::moveToThread: Current thread (0x3331c30) is not the object's thread (0x2c2f860).Cannot move to target thread (0x3331c30)qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/usr..

2022-01-27 16:43:56 14715 7

原创 YOLOv5训练自己的数据集

最近在学习YOLOv5目标检测,想训练自己的数据集,这里做一个安全帽检测的算法。文章部分代码参考:https://github.com/PeterH0323/Smart_Construction,感谢作者的分享。1. 下载YOLOv5代码使用git下载YOLOv5代码,下载地址:GitHub - ultralytics/yolov5: YOLOv5 ???? in PyTorch > ONNX > CoreML > TFLiteYOLOv5 ???? in PyTorch

2021-10-27 11:19:05 1474 3

原创 在使用yaml.dump时出现TypeError错误

在调用下面代码时出错:yaml.dump(hyp, f, sort_keys=False)报错:TypeError: dump_all() got an unexpected keyword argument 'sort_keys'报错原因:yaml版本过低造成解决方法:升级yaml版本pipinstall --upgrade PyYAML但是又出现新的问题:ERROR: Cannot uninstall 'PyYAML'. It is a dist..

2021-10-22 11:39:46 2248

原创 python使用ctypes调用第三方库时出现undefined symbol分析

今天在用python 调用c++库文件时出现了一个错误,这里主要记录一下解决问题的思路。 1.出现错误在使用python 中使用中调用第三方so库时import ctypescpp = ctypes.CDLL('./detector.so')出现如下错误:Traceback (most recent call last):File “detection.py”, line 143, in face_detection(image_path)File “detection.p

2021-07-30 16:10:42 6988

原创 yolov4网络结构的理解

1. yolov4网络整体结构yolov4的网络组成模块:Backbone: CSPDarknet53Neck: SPP, PANHead: YOLOv3下图是yolov4的整体结构:2. CSPDarknet53主网络架构CSPDarknet53网络是在Darknet53的基础上加入CSP。我们先了解一下CSPNet网络,CSP全称Cross Stage Partial,它可以增强CNN的学习能力,能够在轻量化、低计算量和低内存访问成本下有效提高准确率。(论文:https://arxiv.

2021-07-07 23:31:39 6107 7

原创 常用的激活函数Sigmoid,ReLU,Swish,Mish,GELU

Sigmoid激活函数在我们的网络模型中比较常用,也常作为二分类任务的输出层,函数的输出范围为(0,1)

2021-07-01 17:27:35 13084 2

原创 在onnx推理onnxruntime出现警告问题解决

在用onnx进行推理模型时出现以下的警告:[W:onnxruntime:, graph.cc:1074 Graph] Initializer res_5_block1_conv_dw_relu_gamma appears in graph inputs and will not be treated as constant value/weight. This may prevent some of the graph optimizations, like const folding. Move .

2021-05-19 13:57:17 5667 3

原创 TensorRT模型推理内存泄露问题解决

问题描述:在使用tensorRT部署模型时,发现随着客户端不断地请求服务,显存会持续的增长,当超过显卡内存时就会出现申请不到显存而报错的情况。经过分析是我在tensorrt模型前向推理是造成的问题,在代码里:trt_engine_path = './model/resnet50.trt'trt_runtime = trt.Runtime(TRT_LOGGER)engine = load_engine(trt_runtime, trt_engine_path)context = engi

2020-12-22 14:20:54 4348 7

原创 Flask部署TensorRT问题解决(pycuda._driver.LogicError: explicit_context_dependent failed)

问题描述:今天使用Flask搭建服务端进行模型推理,在使用TensorRT进行推理模型时出现如下错误:line 39, in allocate_buffers stream = cuda.Stream() # pycuda 操作缓冲区pycuda._driver.LogicError: explicit_context_dependent failed: invalid device context - no currently active context?网上查了,说是...

2020-12-14 14:55:01 1819 2

原创 mxnet模型转onnx模型

1.安装mxnet开发环境这里我安装的是gpu的版本,直接使用命令安装即可:sudo pip3 install mxnet-cu100也可以在安装的时候用 -i https://mirrors.aliyun.com/pypi/simple指定阿里源,安装速度会快很多。2.模型转换代码import numpy as npimport mxnet as mxfrom mxnet.contrib import onnx as onnx_mxnetsym = './model..

2020-12-03 14:45:09 2786 1

原创 pytorch模型转TensorRT模型部署

pytorch训练的模型用Tensor模型部署我们在部署AI模型时可以有多种选择,使用的是cpu还是gpu,部署框架直接使用pytorch,也可以选择tensorRT,会加速模型推理。这里主要讲的是pytorch模型怎么用tensorRT来部署,先来总结一下我们常用的部署方案。常用部署方案:cpu: pytorch->onnx->onnxruntimegpu: pytorch->onnx->onnx2trt->tensorRTarm: pytorch.

2020-12-03 14:26:03 8917 12

原创 Ubuntu18.04安装tensorRT来部署模型

安装tensorRT(1)查看自己的cuda和cudnn版本cuda:cat /usr/local/cuda/version.txtcat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2(2)安装pycudapip3 install pycuda -i https://mirrors.aliyun.com/pypi/simple这里注意不要使用sudo来安装,要不然可能会出现找不到cuda.h文件的错误。-i ..

2020-12-01 17:39:49 4656

原创 onnx 模型转换及推理

最近在部署模型在安卓端时发现ncnn模型不及原来的pytorch精度高,误差挺大的,分类误差超过了0.1,怀疑是模型转换,这里就验证一下是不是pytorch -> onnx 模型中产生的误差。1.模型转换先来看一下pyotrch 到onnx 模型转换,这个网上已经很多资料了,这里再贴一下代码:import torchdevice = torch.device("cuda" if torch.cuda.is_available() else "cpu")def model_..

2020-09-24 14:01:15 3833 1

原创 交叉熵和最大似然估计之间的关系

在分类的网络模型中,我们常常使用交叉熵作为损失函数,今天来梳理一下这些知识点。1. 交叉熵交叉熵作为损失函数的实际意义,这里引用这篇博文(https://blog.csdn.net/elite666/article/details/83850786)的一句话:交叉熵刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近,即拟合的更好。交叉熵计算公式:式中 x为一个离散随机变量,p(xj)表示第j类的概率。假设同一随机变量...

2020-09-23 18:13:06 6480 2

原创 pytorch loss反向传播出错

在使用pytorch进行训练代码时,在运行 loss.backward() 误差反向传播时出错 :RuntimeError: grad can be implicitly created only for scalar outputs File "train.py", line 143, in train loss.backward() File "/usr/local/lib/python3.6/dist-packages/torch/tensor.py", line 198...

2020-07-23 10:52:38 21350 1

原创 pytorch 版本升级和接口修改

这里记录一下自己在运行pytorch 时由于版本修正引起的一些警告或错误:运行出现:/usr/local/lib/python3.6/dist-packages/torch/nn/_reduction.py:43: UserWarning: size_average and reduce args will be deprecated, please use reduction='none' instead. warnings.warn(warning.format(ret))解决办..

2020-07-17 17:18:54 2307 4

原创 keras 中的SeparableConv2D和DepthwiseConv2D 卷积

在keras代码中我们看到有SeparableConv2D和DepthwiseConv2D卷积,我们来聊聊他们之间的差别。理解SeparableConv2D实现的是整个深度可分离卷积,包含深度卷积(DW)和逐点卷积(PW)这两个过程,DepthwiseConv2D只是实现了深度卷积,可见SeparableConv2D是比DepthwiseConv2D多了一个逐点卷积的过程。正如下图所示:就是SeparableConv2D的实现过程,其中深层卷积把通道进行分离,然后逐点卷积(1..

2020-06-23 15:05:22 3270

原创 Ubuntu系统修复GUID格式GPT硬盘的引导

最近重新安装了Ubuntu18系统,对磁盘进行了格式化。发现电脑在开机BIOS页面上找不到Ubuntu的启动项,这是引导分区的文件损坏了,找不到硬盘引导,无法识别硬盘。这里记录一下解决办法,能比较好的解决了这个问题。参考教程:https://jingyan.baidu.com/article/a17d5285ea65e98098c8f23f.html...

2020-06-14 23:58:07 1635

原创 COCO2017 数据集分类统计

coco2017数据集是微软采集的数据,我们可以直接使用python coco api 来读取图片数据,对于这个数据集的类别我们可以做一下统计,这样有利于我们在做行人检测上做一个评估,同时对不同类别在算法上做一个均衡。我们使用一下代码来统计不同类别的图片数量、标注框数量。代码:from pycocotools.coco import COCOdataDir='./COCO'dataType='val2017'#dataType='train2017'annFile='{}/a

2020-06-03 10:10:05 13052 8

原创 softmax loss 交叉熵损失函数求导

1. softmax函数求导求导之前我们先了解softmax函数,softmax一般是用来作为网络的输出层,直接输出概率信息,定义如下:那么我们对softmax函数进行求导,为了简洁把求和里面的一大堆用简写:①当i =j时:②当i≠j时:2.对softmax loss求导好了,有了前面这些知识之后我们开始求导。这个函数最要是...

2020-03-01 17:25:10 1079

原创 目标检测数据集VOC 2007/2012 整理

写之前这里先提供数据集的下载地址,darknet网页的链接:https://pjreddie.com/projects/pascal-voc-dataset-mirror/voc 2007数据集包含 训练集:5011 张,测试集:4952张,共9963张,20个类。20个类分别为:aeroplanebicyclebirdboatbottlebusca...

2020-02-29 19:13:26 7961

Zigbee USB Dongle固件

Zigbee USB Dongle固件,可以直接烧写用于手抓包

2015-08-18

ubiqua-pa抓包工具

zigbee最好的抓包工具,很清楚分析协议命令。

2015-06-16

物联网智能家居2440开发板WEB远程视频监控

使用2440web视频监控。里面包含了jpegsrc.v6b.tar mjpg-streamer SDL-1.2.13.tar 和几个教程文档,容易移植。

2014-09-23

s3c6410 boa服务器点亮LED

s3c6410用boa服务器来控制LED灯的亮灭

2014-09-23

空空如也

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

TA关注的人

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