自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 通俗讲解深度学习轻量网络MobileNet-v1/v2/v3

MobileNet网络是由google团队在2017年提出的,专注于移动端或者嵌入式设备中的轻量级CNN网络。相比传统卷积神经网络,在准确率小幅降低的前提下大大减少模型参数与运算量。(相比VGG16准确率减少了0.9%,但模型参数只有VGG的1/32)。MobileNet网络最大的优势在于其轻量化,也就是大幅度减少的运算量和参数数量优点。

2023-09-25 19:52:12 472

原创 MobileViT论文

是由CNN和Transformer混合架构组成的,它利用了CNN的空间归纳偏置[1]和加速网络收敛的优势,而且还利用了transformer的自注意力机制和全局视野。在模型参数上,它比主流的transformer架构的网络参数量更低,但是精度却更高,而在与主流轻量级CNN架构相比其参数量也更低,精度也更高。当然了,速度上仍然比主流轻量级CNN架构模型慢很多,不过对比纯transformer架构却快很多。

2023-09-18 19:26:50 295

原创 Dockerfile 制作常用命令总结

dockfile 文件制作常用命令

2023-09-11 19:55:01 491

原创 卡尔曼滤波公式推导过程

卡尔曼滤波可分为两个状态,一个是预测状态:利用上一个时刻的旧状态和系统的动量模型(如加速度,速度等)来预测当前时刻的状态,一个是更新状态: 根据当前时刻的测量数据,利用观测矩阵和卡尔曼增益来修正预测状态

2023-09-11 19:31:52 141

原创 gitlab基本操作

git push origin dev:dev //从lwq分支push到lwq 分支上。git status // 保证修改的文件全部提交上去,出现干净的分区才能push上去。git branch -m lwq dev // 修改lwq 分支为dev 分支。git checkout dev //切换到dev 分支修改 ****git add . //修改了文件需要提交添加上去(注意 . 点号)git branch dev //新建dev 分支。git branch // 查看分支。

2023-06-06 19:06:02 710

原创 Jetson 硬件 安装SSD固态作为启动盘以及安装CUDA等

Jetson硬件的自带闪存一般较小,只能安装jetpack等基本的环境,所以需要额外增加SSD固态或SD卡作为存储空间,很明显SSD的读取速度远远大于SD卡,所以为更好发挥出Jetson 的计算性能,我们选择使用SSD固态作为存储。

2023-06-01 17:03:36 1436

原创 Jetson安装pycuda通用教程

直接使用pip安装方式, pip3 install pycuda==2021.1 -i https://mirror.baidu.com/pypi/simple ,若失败,则使用源码编译方式

2023-05-30 16:13:16 1557

原创 Jetson硬件 升级jetpack系统 版本流程

准备一个linux系统电脑,一个跳线帽,以及一条usb线以及英伟达开发者账号,点击https://developer.nvidia.com/zh-cn/embedded/jetpack进行注册。

2023-05-29 19:06:13 2179

原创 python调用C++编译的动态库中函数记录

在深度学习模型部署上经常需要用到python来处理C++推理后的模型后处理部分,那么就可以用到pybind11来对C++代码封装成动态库,方便python进行后处理操作

2023-04-06 20:13:01 512 1

原创 卡尔曼滤波总结以及python实现卡尔曼滤波

卡尔曼滤波是一种用于估计未知状态的滤波算法。它可以从带有噪声的传感器数据中提取出实际的状态变量。卡尔曼滤波的基本思想是使用已知的状态和测量值来预测未来的状态,同时考虑测量噪声和系统噪声对估计值的影响。卡尔曼滤波算法由两个步骤组成:预测和更新;在预测步骤中,卡尔曼滤波器基于先前的状态和系统的动态模型来预测未来的状态。这个预测可以通过使用状态转移矩阵(描述系统的动态行为)和旧状态来完成;在更新步骤中,卡尔曼滤波器使用测量结果来校正预测。这个校正可以通过计算测量噪声和状态估计值的协方差矩阵来完成。

2023-03-23 19:51:42 4026

原创 pycocotools,onnxRuntime_gpu 在jetson(Orin,AGX,Xavier NX,nano,TX1,TX2)边缘端硬件通用安装方法

jetson(Orin,AGX,Xavier NX,nano,TX1,TX2)边缘端硬件pycocotools,onnxRuntime_gpu通用安装方法ERROR: Could not build wheels for pycocotools, which is required to install pyproject.toml-based projects**

2023-03-20 20:11:15 1612

原创 docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]问题记录解决

docker 使用GPU 资源时(--gpus all)出现如下报错:Error response from daemon: could not select device driver with capabilities: [[gpu]]

2023-03-16 20:40:32 1582

原创 CUDA 原理与编程基础

CUDA的全称是Computer Unified Device Architecture(计算机统一设备架构),它是NVIDIA在2007年推向市场的并行计算架构。CUDA作为NVIDIA图形处理器的通用计算引擎,提供给我们利用NVIDIA显卡进行GPGPU(General Purpose Graphics Process Unit)开发的全套工具。

2022-10-24 17:46:32 2641

原创 yolov5 Tensorrtx int 8 量化问题记录

terminate called after throwing an instance of ‘std::out_of_range’what(): _Map_base::atvoid APIToModel(unsigned int, nvinfer1::IHostMemory**, bool&, float&, float&, std::__cxx11::string&): Assertion `engine != nullptr’ failed.

2022-10-09 16:47:28 1861 7

原创 PPOCRLabel 半标注工具全平台安装使用

opencv-python 版本过高会报错:QObject::moveToThread: Current thread (0x5581364d38c0) is not the object's thread (0x55813a1b08f0).

2022-09-30 14:28:24 4053 12

原创 【Tensorrt】Tensorrt C++部署YOLO v5报错记录 Version tag does not match. Note: Current Version: xxx, Serializ

很明显 版本version 不同,编译生成的engine 文件所用的tensorrt 版本与当前conda 运行环境中的tensorrt版本不一致,所以,需要我们将编译engine时链接的tensorrt版本要与运行的conda环境中一致。

2022-09-28 17:55:11 4977 3

原创 神经网络模型压缩综述

首先使用int8的输入与int8的权重相乘,得到int32的输出,然后强制转换为float32,并将float32的偏置乘上缩放因子与前面计算得到的float32数值进行相加,然后激活,最后再将float32转为int8。动态量化:对于动态量化,缩放因子(Scale)和零点(Zero Point)是在推理时计算得到的,并且特定用于每次激活,优点是准确率更高,缺点是带来了额外的计算开销,一般常用于RNN,transform的模型中量化方式;定义:将大模型的知识迁移到小模型上,来提升小模型的精度。

2022-09-13 19:55:35 1744

原创 英伟达jetson硬件(NX,nano,AGX,TX1,TX2)通用开机自动开启风扇教程

英伟达jetson硬件(NX,nano,AGX,TX1,TX2)通用开机自动开启风扇教程

2022-07-04 15:21:39 6024 1

原创 opencv实现图像校正

1.引言:python实现倾斜图像校正操作2.思路流程:(1)读入,灰度化;(2)高斯模糊;(3)二值化图像;(4)闭开操作;(5)获取图像顶点;(6)旋转校正3.实现代码:import cv2import numpy as npimport imutilsimport timedef Img_Outline(img_path): original_img = cv2.imread(img_path) gray_img = cv2.cvtColor(origin

2022-05-20 10:38:51 1640

原创 OpenCV实现单目摄像头对图像目标测距

使用opencv对单目摄像头中的目标实现测量距离1.方法介绍:根据相似三角形的方法:F = P×D / W , 其中W为物体的实际宽度,D为物体平面与相机平面的距离,照片上物体的像素宽度为P,相机焦距为FD = F×W / P ,这样知道相机的内参焦距就可以求得物体平面与相机平面的距离D2.代码:import cv2import imutilsimport numpy as npfrom imutils import paths# 获取目标的轮廓信息def find_marker

2022-05-18 15:40:49 4039 3

原创 YOLOv5转TensorRt加速部署全过程

本文是在jetson nano 运行yolov5转tensort加速的记录接上文:https://blog.csdn.net/weixin_44312422/article/details/122256752?spm=1001.2014.3001.5502(本文出现的yolov5均不指YOLOv5源码,是指tensorrtx中专属的YOLOv5加速代码,注意不要与YOLOv5源代码混淆)1.第一步下载对应版本yolov5的权重文件,以yolov5s为例(其实可以用yolov5n速度更快):本步可以

2022-01-26 14:29:01 3010 3

原创 load() missing 1 required positional argument: ‘Loader‘ (.yaml文件读取错误)

错误描述错误问题:load() missing 1 required positional argument: ‘Loader‘错误分析该错误原因是因为.yaml文件在load()时缺少必填的loader参数解决方法方法1: 降级pyyaml版本因为pyyaml 版本 6.0 与当前 Google Colab 导入包的方式不兼容。因此,只需将 pyyaml 版本降级到与当前 Google Colab 导入方式兼容的 5.4.1。降级指令:pip install pyyaml==5.4.1

2022-01-25 14:29:50 16938

原创 解决问题TypeError: unsupported operand type(s) for +: ‘int‘ and ‘list‘。

问题描述:python 中运行sum函数求和时出现TypeError: unsupported operand type(s) for +: ‘int’ and 'list’错误。原因分析:因为嵌套list,而sum函数按第一层的两个list元素进行相加,list不支持向量加减法所以报错。解决方法:在运行的程序中导入numpy包模块:from numpy import *import numpy后,sum重载了,会自动转换参数为array,所以求和就可以计算了。参考:[1]https:/

2022-01-14 10:27:49 11564 1

原创 python实现两张图片相似度对比——汉明距离

# 汉明距离表示两个(相同长度)字对应位不同的数量,我们以# d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,# 并统计结果为1的个数,那么这个数就是汉明距离。# 向量相似度越高,对应的汉明距离越小。如10001001和10010001有2位不同。from PIL import Imagefrom functools import reduce# import time# 计算Hashdef phash(img): img = img.resize((8,

2022-01-13 19:42:17 3585

原创 解决问题 TensorBoard logging requires TensorBoard with Python summary writer installed.

问题描述:ImportError:TensorBoard logging requires TensorBoard with Python summary writer installed.解决方法:一般是tensorboard包未安装,在torch.utils.tensorboard中找不到SummaryWriter模块。所以只要pip 安装一下tensorboardX包即可pip install tensorboardX 安装完成 tensorboardX 包后运行仍然报上面错误,那么修改原来

2022-01-11 10:30:12 5148 3

原创 yolov5 部署jetson nano(通用) 保姆级教学

Jetson nano从配置环境到yolov5成功推理检测全过程文章目录Jetson nano从配置环境到yolov5成功推理检测全过程一、烧录镜像二、配置环境并成功推理1.更新系统和包2、配置环境2.1 配置CUDA2.2 修改Nano板的显存1.打开终端输入:2.修改nvzramconfig.sh文件:3.重启:4.终端输入:3、安装archiconda(也就是jetson nano板上的anaconda)1.下载地址:2.安装:3.测试conda:4.创建运行yolov5的虚拟环境:5.在conda

2021-12-31 17:11:19 25199 88

原创 windows10下安装pycocotools(亲测有效)

不来花里胡哨的,直接本地安装1.打开清华源pycocotools的链接:https://pypi.tuna.tsinghua.edu.cn/simple/pycocotools-windows/2.找到对应Python的版本pycocotools(Python3.8选择最后一个cp38-win-amd64,同理py37的选择cp37_win_amd64)3.下载好文件后pycocotools_windows-2.0.0.2-cp38-cp38-win_amd64.whl4.运行下面代码:(

2021-12-14 17:19:32 9276 29

原创 pytorch 中 [..., 0] 的理解

问题描述:[…, 0]的使用[…, 0] = [:, :, 0], 三个点号…等于x个冒号:的意思 ,0 表示取第1轴上的所有数据import torcha = torch.rand((6, 13, 12, 8)) # 共有8轴数据b = a[..., 0] # 取第1轴上的所有数据 ,数据size=[6,13,12]c = a[:, :, :, 0] # 取第1轴上的所有数据 ,数据size=[6,13,12]print(b.size())print(c.size())d = to

2021-12-03 15:41:23 2073

原创 pt权重文件转onnx详解(记录)

pt权重转onnx记录方法1.一般YOLOv3和YOLOv5 会自带一个权重pt转onnx模型的代码export.pyexport.py在models文件夹中2.打开export.py ,我们运行该文件可以通过命令行运行,对照修改argument参数即可3.运行命令行如下:python ./models/export.py --weights ./models/best.pt --batch-size 16weights:指你训练好的权重文件,看你放在哪个文件夹中。batch-

2021-11-24 11:13:58 15889 8

原创 解决问题cv2.error:OpenCV(4.5.2)C:\Users\runneradmin\AppData..

问题描述:cv2.error:OpenCV(4.5.2)C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-ttbyx0jz\opencv\modules\highgui\src\window.cpp:404: error:cv2.imshow 出现如上错误。解决:一:首先检查图片路径问题,第一,图片名称不能出现中文;第二,路径上最好也不要出现中文,若出现中文,需要放到没有中文的文件夹中。其次,路径上的斜杠问题,使用如下类型的路径 “/”.

2021-11-10 15:59:17 14216

原创 卷积神经网络之卷积操作的计算详解(总结)

输入图像为正方形输入图像为矩形卷积操作的三种模式池化操作空洞卷积1.图像为正方形W:输入图像尺寸F:卷积核大小P:padding填充S:为步长N:卷积后输出的图像尺寸2.图像为矩形,输入尺寸为W×H3.卷积操作的三种模式3.1Full mode :遇到第一个像素就开始卷积,full模式卷积后的图像大小为其中,步长为1,图片大小为N1xN1,卷积核大小为N2xN2,卷积后图像大小:(N1+N2-1) x (N1+N2-1)3.2Same mode : 返回卷积中心大小.

2021-10-28 10:41:55 3595 1

原创 Mask RCNN算法详解(总结)

Mask RCNN:目标检测+实例分割作用:可以完成目标分类,目标检测,语义分割,实例分割,人体姿态识别等多种任务。1.实例分割与语义分割的区别和关系?通常的目标分割是指语义分割,实例分割是从目标分割独立出来的一个小领域,两者相比实例分割更加复杂。实例分割需要在语义分割的基础上对同类物体进行更加精细的分割。2.算法主要思想Mask rcnn算法是由faster rcnn 和语义分割算法FCN组成。前者完成目标检测任务,后者可以准确完成语义分割的任务。主要思路:原始Faster-rcnn算法的基

2021-10-27 19:55:39 20672

原创 labelImg图像标注工具免Python程序实现方法

图像标注工具labelImg安装使用方法1.labelImg简介labelImg是一个图形图像标注工具,是自建数据集标注图片数据非常实用的工具。它是用python编写,QT作为图形界面,可标注VOC数据集以及YOLO等直接使用的数据。2.labelImg下载(Windows版,免python安装)下载链接链接:https://pan.baidu.com/s/1pdgm3UMgRwH1KtABMIRRTQ提取码:hveg下载后,解压文件,进入文件夹,点击labelImge.exe,就可以直接运行

2021-05-31 10:22:52 612 1

原创 成功解决OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized

错误信息:OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized解决方法:方法1:import osos.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"方法2:卸载python中的mkl库 ,需要用的时候再安装回来参考文章:[1]https://blog.csdn.net/weixin_41449637/article/details/1

2021-05-13 09:17:20 1809 2

原创 目标检测数据集整理(持续更新)

ImageNet下载地址: http://www.image-net.org/该数据集包含1400万张图片,有2万多种物体,是当前图像识别的最大数据集PASCAL VOC下载地址: http://pjreddie.com/projects/pascal-voc-dataset-mirror/该数据集是视觉对象的分类识别和检测的基准测试,提供了检测算法和学习性能的标准图像注释数据集和标准的评估系统。分为VOC2007和VOC2012两个版本。Labelme下载地址: http://lab

2021-05-13 09:13:38 2079 1

原创 实现网页自动登录

因为实际项目中接触到一个网页自动登录的需要,记录一下学习到实现的过程,方便以后查阅,也给大家一个参考。解决的问题实现网页自动登录,不需要每次重复输入密码方法使用Windows自带的vbs脚本,只需简单几行代码即可实现。实现代码Dim username,password,IEusername = "aaaaaaaa" # 你的用户名password = "bbbbbbbb" # 你的密码Set IE =CreateObject("InternetExplorer.Application"

2021-05-07 16:01:54 10083 6

原创 无需删除D盘文件,将D盘空间分给C盘

问题描述:做深度学习或机器学习的小伙伴,不知不觉就发现自己电脑C盘空间不够用了,但是D盘空间看着又很充裕,那么问题来了,怎么将D盘空间分给C盘呢,网上搜索了一圈,发现很多方法需要删除D盘文件才能将空间分享给C盘,但是不想删除D盘文件这么麻烦,有什么好方法不用删除文件或备份文件就可以成功扩充C盘空间呢?解决办法:免费磁盘分区助手: https://www.disktool.cn/download.html使用方法打开网址,下载专业版;2.下载完压缩包后,直接解压,点击安装(软件很小,可以选

2021-04-07 10:05:51 39243 44

原创 激活函数总结

常用激活函数总结1.Sigmoid 函数基本概念:Sigmoid函数,它能够把x属于R的输入“压缩”到x属于(0,1)区间内。表达式:缺点:sigmoid函数容易出现梯度弥散现象,当网络的层数增加时,较前层的参数无法及时更新,所以无法训练深层神经网络。用法:tf.nn.Sigmoid(x) 属于概率输出延伸:梯度弥散是指梯度值接近0的现象。2.ReLU函数 (修正线性单元)基本概念:ReLU(修正线性单元),它对于小于0的值全部抑制为0,对于正数则直接输出。又叫单边抑制特性。

2021-03-25 17:23:18 154

转载 Keras.metrics中的 accuracy 总结

Keras.metrics中的 accuracy 总结 (转载)1. 背景Accuracy(准确率)是机器学习中最简单的一种评价模型好坏的指标,每一个从事机器学习工作的人一定都使用过这个指标。没从事过机器学习的人大都也知道这个指标,比如你去向别人推销一款自己做出来的字符识别软件,人家一定会问你准确率是多少。准确率听起来简单,但不是所有人都能理解得透彻,本文将介绍Keras中accuracy(也适用于Tensorflow)的几个新“玩法”。2. Keras中的accuracy介绍Keras.me

2021-03-25 17:01:14 1743 1

原创 成功解决MatplotlibDeprecationWarning: The ‘warn‘ parameter of use() is deprecated since Matplotlib 3.1

这里写自定义目录标题目录解决问题解决方法成功解决MatplotlibDeprecationWarning: The ‘warn’ parameter of use() is deprecated since Matplotlib 3.1 and will be removed in 3.3.目录解决问题解决方法问题描述MatplotlibDeprecationWarning: The ‘warn’ parameter of use() is deprecated since Matplotlib

2021-03-17 17:55:45 6941

空空如也

空空如也

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

TA关注的人

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