自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

黄小黄的窝

一个双鱼座的程序猿

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 win10初探yolox之环境安装与训练自己的数据集

最近被yolox爆屏,加上自己对于yolo系列有太多的情节之前还尝试过yolof,现在出现的yolox还有openvino推理,刚好自己会需要这部分内容,现在就尝试进行对其初步探索。一、基础配置cuda 10.1二、环境搭建1、安装yoloxgit clone [email protected]:Megvii-BaseDetection/YOLOX.gitcd YOLOXpip3 install -U pip && pip3 install -r requirements.txtp

2021-07-28 14:29:05 3093 4

原创 目标检测总结

写在前面的话:在前段时间自己开启了找工作的阶段,对于自己所接触的目标检测总体进行了一段总结,自己是写在笔记中上传到这无法显示图片,就直接分享笔记连接,又想看的就去看一下吧。以及下面是常问到的知识:1、roi pooling和roi algin的区别2、F1 scorep: tp/(tp+fp)r:tp/(tp+FN)F1-score : 2(PR)/(P+R)3、优化器4、网络结构:Faster Rcnninception5、dropout和BN6、传统图像处理对于下面的总结全部来

2021-04-20 09:44:47 1585

原创 深度学习总结

入职学习了一段时间也该有个总结了吧。深度学习一、深度学习框架TensorFlow、Pytorch、Caffe、Paddle、MXNet、Kera二、网络层级结构卷积神经网络只是针对图像起到一个特征提取器的作用。1、输入层2、卷积层卷积层是卷积神经网络的核心,而卷积又是卷积层的核心。卷积我们可以直观的理解为两个函数的一种运算,这种运算称为卷积运算。输入和卷积核都是张量,卷积运算就是用卷积分别乘以输入张量中的每个元素,然后输出一个代表每个输入信息的张量。其中卷积核又被称为权重过滤器,也可以称为

2020-12-11 09:24:13 4205 2

原创 在CUDA10.1版本下安装tensorflow-gpu=1.15版本

在CUDA10.1版本下安装tensorflow-gpu=1.15版本一、前言因为自己在实现yolo5的过程中其中所需要的的环境是cuda10.1但是在之前安装的是10.0,所以只有自己折腾一下。但是cuda10.1貌似很难安装tensorflow1.X版本,在查阅资料并亲测过之后写下。二、电脑环境1.win10专业版2.CUDA=10.13.显卡=1080TI4.vs2015三、安装1.具体的安装步骤就不在这做详细说明,具体可以去看https://blog.csdn.net/weixin

2020-09-07 14:43:20 11117 7

原创 利用yolo5官方模型训练自己的数据集

利用yolov5官方模型权重训练自己的数据集一、运行环境Cuda = 10.1python=3.7.xtorch =1.6.0cython = 0.29.21numpy = 1.19.1opencv-python = 4.3.0.38matplotlib = 3.3.0pillow = 7.2.0tensorboard = 2.2.0pyYAML = 5.3.1torchvision = 0.7.0scipy = 1.5.2tqdm = 4.48.2二、yolov5文件数据集

2020-08-19 15:01:15 4564 19

原创 在c++中加载TorchScript模型

在c++中加载TorchScript模型一、运行环境win 10vs 2015OpenCV 3.4.1cmakelibtorch二、opencv环境搭建详情请见https://blog.csdn.net/qq_41175905/article/details/80560429这位博客是vs2017我用到我的vs2015上同样适用三、libtorch安装1.官网下载地址(选择适合自己的版本)https://pytorch.org/get-started/locally/因为我个人使用

2020-07-30 14:50:00 3042 6

原创 机器学习or深度学习模型编译成exe文件

一、运行环境win10 专业版cuda=10.0numpy=1.14.5OpenCV-python=4.3.0.36pyinstaller=3.6torch=1.2.0torchbision=0.3.0二、环境安装1、pyinstaller安装安装步骤见https://editor.csdn.net/md/?articleId=1075561512、pytorch安装国内安装比较慢,可以设置源,详见https://blog.csdn.net/weixin_43218120/arti

2020-07-28 11:03:32 2391

原创 树莓派控制打印机使用

Python ESC/POS 是一个库,它允许用户从 Python 应用程序访问由 Epson 定义的 ESC/POS 命令处理的所有打印机。out_ep的值也可以在命令行输入:lsusb -v ,其中的bEndpointAddress值就是。pyusb是一个python库,可以方便地使用python操作usb设备。ID后面对应的就是打印机设备的 vendor ID和product Id。①获取打印机设备的 vendor ID和product Id。使用树莓派usb不用驱动程序直接使用打印机打印。

2023-05-24 13:24:09 492

原创 pyinstaller 打包openvino2022.1

pyinstaller 打包openvino 2022.1

2022-07-22 17:52:46 828 3

原创 pytorch1.10之fx

之前在对conv和bn算子融合的时候偶然得知在pytorch1.10中是可以进行部分操作的。故写下此学习记录。torch中的fx是

2022-03-21 11:08:44 1912

原创 pytorch中conv和bn算子融合

在模型优化的过程中必不可少的就是算子融合了,最近在一个项目中使用了resnet其中使用很多的bn,这就必须要优化了,在优化之后推理时间提高了百分之四十。这部分代码是自己在网上查找资料写的,在查找的时候又在偶然中发现在pytorch1.10中有一个fx的库是可以很好处理这方面的东西的。后续我会对这个进行补充。话不多说直接上代码:import osimport torchimport torch.nn as nnfrom build_net import make_fuse_modelfrom

2022-02-18 17:24:12 2857 3

原创 新年快乐哦

2021再见。2022您好

2021-12-31 18:01:24 247

原创 python 设置文件自启动

from win32comext.shell import shellimport osimport pythoncomdef set_shortcut(): # 如无需特别设置图标,则可去掉iconname参数 try: # 要创建快捷方式的文件的完整路径 cur_path = os.getcwd().replace('\\', '/') filename = cur_path + '/.exe' # 将要在此路径创建快

2021-09-10 14:22:20 339

原创 pyinstaller 打包openvino

我又来了,在经历过前面的一系列的操作,最终迎来了最后一步打包部署。但似乎每一步走的都是那么艰难,回头看也就那样。openvino官方说是不支持pyinstaller的打包,但是可以使用他们的管理工具。下面就说一下我遇到的问题吧,不那么详细介绍每一步的流程,想知道每一步的具体流程可以去看一下我之前的文章。按照之前的方式进行打包,只处理解决bug:(注:此次打包是打包为一个文件夹即(-D),是有这方面的需求,(-F)我想会比这更难)1、缺少scipy`Traceback (most recent c

2021-08-24 14:35:50 1079 15

原创 unet++ pytorch模型转换为onnx模型并实际测试

书接上回,上次在安装好openvino环境之后,以及自己在了解完其相关的处理流程之后,现在将自己的模型转换为onnx格式以便后续转换为openvino的中间件。直接上代码:import osimport cv2import onnxruntimeimport torchfrom albumentations import Composefrom albumentations.augmentations import transformsfrom torch.utils.data import

2021-08-13 15:04:50 2083 4

原创 yolox+openvino

接上一次搭建的yolox 的环境,这次要使用openvino对其进行python推理加速。本文的前提是已经实现在本地配置好openvino环境,可去openvino专栏查看。推理的代码如下:import argparseimport logging as logimport osimport sysimport cv2import numpy as npfrom openvino.inference_engine import IECorefrom yolox_x.yolox.data.

2021-08-09 17:19:49 660

原创 win10 安装openvino

最近要在cpu的设备上进行推理加速,故而要学习openvino,奈何自己是个小菜鸡,只能以此记录,防止后人出错。一、安装软件1、下载openvino下载地址:https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/download.html下载自己所需要的版本即可2、安装visual studio3、安装cmake二、配置环境1、第一中方式只能在指定的的窗口进行cd C:\Program Fi

2021-08-07 23:02:49 640

原创 解决opencv-python 读取中文路径下的图片

在正常情况下opencv-python是无法从带有中文路径的目录下读取图片,解决方法:首先利用np.fromfile()读取为np.uint8格式,再使用cv2.imdecode()解码,使用代码如下:image = cv2.imdecode(np.fromfile(origin_image_path, dtype=np.uint8), -1)cv2.imshow('1', image)cv2.waitKey(0)...

2021-08-04 18:22:25 928

原创 图像分割常见Loss

图像分割常见Loss最近在研究图像分割,由于自己之前没学习过,只能好好鼓捣,好久没写了。忙完分割项目总结一下。1、基于分类损失①:binary cross entropy二分类的交叉熵损失函数当类别数M等于2的时候,这个损失就是二元交叉熵Loss。交叉熵Loss可以用在大多数语义分割场景中,但它有个缺点,那就是对于只用分割前景和背景的时候,当前景像素的数量远远小于背景像素的数量时,即y=0的数量远大于y=1的数量,损失函数中y=0的成分就会占据主导,使得模型严重偏向背景,导致效果不好。#二值

2021-07-12 14:25:36 2200 2

原创 coco2voc

详细代码地址:https://github.com/huangxiaohuangi/coco2voc我这边的数据格式是每个图片对应一个json文件,1、首先利用xml2coco.py将所有的单个json文件整合成一个json文件2、利用json2xml.py将这个json文件分离为每个图片对应的xml文件3、readfilename.py为读取文件夹下的文件名称...

2021-01-21 14:46:39 324

原创 yolo数据集制作

操作的代码在https://github.com/huangxiaohuangi/createyolodataset1、首先将json格式的数据标注转换为voc数据的xml格式convert_to_voc.py #先将原始数据转为VOC格式的标注注意在改代码中换成自己的classes2、如果有需要对图片进行线下裁剪的的话,进行make_slice_voc.py#将大图切为小图,重新制作为voc.不需要则进行第三步3、convert_voc_to_v5txt.py #将voc标注转换为yolov

2021-01-21 10:58:36 384

原创 mmdetection环境搭建以及使用自己的数据集测试

一、环境ubuntu 18.04cuda 10.1pytorch 1.6二、安装mmcv安装mmcv-full。mmdetection依赖于mmcv,并且要安装pytorch对应的版本,就像torchvision一样,各版本下载链接在https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html注意:一定要选择适合自己的版本否则会报错:Not compiled with GPU support亲身尝试过。。。。三、安装

2020-12-29 16:02:31 1187 1

原创 Ubuntu18.04 安装显卡驱动

最近在自己笔记本上安装了双系统,但是自己在对Ubuntu系统安装显卡驱动的时候出现了很多问题,在花了20元大洋偷学之后,写下此文。笔记本就是联想拯救者y7000 2019款的显卡是1650。第一步:就是安装Ubuntu系统,这个需要自己去安装,不在这边进行赘述。第二步:进入系统之后,sudo gedit /etc/modprobe.d/blacklist.conf加参数到最底下回车另起一行内容为blacklist nouveauoptions nouveau modeset=0之后运行:s

2020-12-24 14:40:01 585 1

原创 对比两个文件夹保留相同文件

img_path = ‘G:/cervical_cancer/data/roi/aug_roi_based_data_generation/train/’label_path = ‘G:/cervical_cancer/data/roi/aug_roi_based_data_generation/label/’dirpath = os.listdir(img_path)for image in dirpath:image_name = image.split(".")[0]if image.spl

2020-11-25 13:41:02 824

原创 coco数据集

一、coco数据集字段1、info字段:包括一下字段2、licenses:里面集合了不同类型的licenses,并在images中按照id号被应用,基本不参与数据解析的过程中。3、images:对应每张图片的详细信息,其中的id号是分配的唯一id4、categories:其中supercategory是父类,name是子类,id是类别id(按照子类统计)5:annotation:category_id:该注释的类别idid:当前注释的idimage_id:该注释所在的图片的id号a

2020-11-06 15:37:05 953

原创 SSD

目前主流的目标检测算法有两个类型一个是tow-stage另一个就是one-stage。one-stage主要的思想就是均匀的在图片的不同位置进行密集采样,在抽样的时候可以采用不同尺度和长宽比,然后利用CNN提取特征后直接进行分类和回归,整个过程只需要一步,代表SSD和YOLO。均匀的密集采样的一个重要缺点就是训练比较困难,这主要是因为正样本与负样本非常不平衡,导致模型准确度比较低。SSD(Single Shot MultiBox Detector),single shot是指SSD算法是属于one-

2020-10-29 11:13:06 193

原创 利用SSD模型训练自己的数据集

一、运行环境windows10cuda==10.1python=3.7.x二、步骤1、下载SSD代码SSD-pytorch 代码下载地址: https://github.com/amdegroot/ssd.pytorch如果觉得下载比较慢可以参考https://blog.csdn.net/weixin_43218120/article/details/1082530252、准备数据集(1)想先测试的情况下可以使用VOC或者COCO数据集,数据集下载:链接:https://pan.baid

2020-10-28 20:59:04 2522

原创 神经网络中的激活函数

1、激活函数的作用在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络能够很好的解决比较复杂的问题。如果不使用激活函数,神经网络中的每一层的输出只是承接了上一层输入函数的线性变换,无论神经网络有多少层,输出都是输入的线性组合。2、激活函数的发展经历了Sigmoid–>Tanh–>ReLU–>Leaky ReLU–>Maxout这样的过程,还有一个特殊的激活函数Softmax,因为它只会被应用在网络中的最后一层,用来进行最后的分类和归一化。3、Sigmo

2020-10-28 15:09:22 5581

原创 目标检测之FPN

目标检测之FPN从图上可以看出,FPN可以分为三个部分:①、自底向上的部分②、自顶向下的部分③、连接两个部分的跳接网络首先通过bottom-up path way由浅到深提取特征(就是正常的网络结构),在通过top-down path way和lateral connections 生成在每个等级都有丰富语义的特征金字塔,上采样部分采用最临近。Top-down path way其实很简单,高层特征上采样,与同级别的Bottom-up path way中的特征层的尺寸相同,但是其包含的语义信息更

2020-10-28 12:00:16 365

原创 统计文件夹下所有文件的文件名到txt文件中

自己制作数据集,一个类别的图片标记完了需要做成一个train.txt,包含所有的训练图片的名称,怎么实现呢?1、在包含训练图片的文件夹中新建TXT文件。2、在TXT文件中输入 DIR ./B>train.txt (DIR命令后须有一空格)3、保存后将后缀名改为BAT。4、双击该文件即可生成一个train.txt。5、打开再根据自己要求修改即可。说明此方法只使用于Windows系统,且在按照上述方法的处理结果中包含文件名的后缀,如果想要去除文件名的后缀可以在txt文件中可以利用查找替换的

2020-10-28 11:53:04 975

原创 深度学习之神经网络中的Epoch、Iteration、Batchsize

自己平时在训练的过程中老是对于这些概念的混淆。就整理如下。1、batch-sizebatch-size :即批次的大小,也就是一次训练选取的样本的个数。batch-size的大小对模型的优化和速度有着影响,尤其是GPU的个数不多时,最好不要把数值设置的很大。在设置的过程中最好使用2的倍数,因为计算机的内存为2的指数倍,采用2进制编码。batch-size的正确选择就是为了在内存效率和内存容量之间寻找最佳平衡。上图中的表示为:①、全批次(蓝色),当数据集的数量比较少的时候,我们可以采用全数据集,

2020-10-26 15:08:22 1454

原创 计算机视觉之非极大值抑制(NMS)以及各种变形

NMS:Non-Maximum SuppressionNMS,称为非极大值抑制,是目标检测框架中的后处理模块,主要用于删除高度冗余的bbox。在目标检测的过程中,对于每个obj在检测的时候回产生多个bbox,NMS的本质就是对每个obj的多个bbox去冗余,得到最终的检测结果。对于检测任务,NMS是一个必需的部件,其为对检测结果进行冗余去除操作的后处理算法。标准的NMS为手工设计的,基于一个固定的距离阈值进行贪婪聚类,(greedily accepting local maxima and disca

2020-10-22 15:23:26 860

原创 计算机视觉之正负样本不均衡问题

Anchor-based的目标检测器通过Anchor来得到一系列密集的候选框,然后按照一定阈值将候选框分成真样本(前景)和负样本(背景),最后按照一定的采样策略来进行训练。目标检测中广泛采用的采样策略是随机采样(正样本和负样本按照一定比例随机采样),然而随机采样并不能保证能够选取得到更有价值的样本(使检测器更鲁棒)。在探索更有效的采样策略的过程中,产生了两类方法:Hard Sampling:从所有候选样本中选择子集来训练模型。(包含hard negative mining、OHEM、IoU-balanc

2020-10-21 14:04:08 2745 1

原创 计算机视觉基础之mAP

## mAPmAP定义及相关概念mAP:mean Average Precision,即各类别AP的平均值AP:PR曲线下面积PR曲线:Precision-Recall曲线Precision:TP/(TP+FP)Recall:TP/(TP+FN)TP:IoU>0.5的检测框数量(同一Ground Truth只计算一次)FP:IoU <=0.5的检测框,或者是检测到同一个GT的多余检测框的数量FN:没有检测到的GT的数量图像检索mAP图像检索中的mAP和目标检测中的mAP

2020-10-15 10:39:52 3217

原创 计算机视觉基础之IoU和mIoU

IoUIoU(Intersection over Union),又称重叠度/交并比。1、NMS:当在图像中预测多个proposals、pred bboxes时,由于预测的结果间可能存在高冗余(即同一个目标可能被预测多个矩形框),因此可以过滤掉一些彼此间高重合度的结果;具体操作就是根据各个bbox的score降序排序,剔除与高score bbox有较高重合度的低score bbox,其中重合度的度量指标就是IoU2、mAP:得到检测算法的预测结果后,需要对pred bbox与gt bbox一起评估检测算

2020-10-10 10:53:12 11770

原创 RuntimeError: No such operator torchvision::nms

RuntimeError: No such operator torchvision::nms此bug是自己使用pyinstaller编译使用yolov5进行目标识别的代码中产生的问题,在python环境中代码可以正常运行,但是在编译成exe文件之后运行就会报上述错误。探究了一下午其出错的原因,仍未解决,在花了两元大洋查看了一篇csdn的vip文章说是由于torch和torchvision版本不对问题让安装低版本的torchvision之后在伪装成高版本,胡乱搞了一通之后仍未起效,在临下班之际忽然之间灵

2020-09-17 16:13:08 3507 10

原创 WARNING: file already exists but should not: C:\Users\workAI\AppData\Local\Temp\_MEI132522\torch\_C

此bug是使用pyinstaller编译文件为exe文件中产生的,具体如下:WARNING: file already exists but should not: C:\Users\workAI\AppData\Local\Temp\_MEI132522\torch\_C上述bug在编译和运行过程中没有产生影响,但是自己在偶然的原因不知不觉的就解决了此bug,具体操作如下:首先找到.spec配置文件修改配置文件,在配置文件中加入以下代码:for d in a.datas: if '_C.cp3

2020-09-15 11:31:44 14417 53

原创 解决国内访问github速度慢的问题

一、GitHub镜像访问https://github.com.cnpmjs.orghttps://hub.fastgit.org上面镜像地址是GitHub网站的镜像也就是克隆版本,在这两个镜像网站可以访问GitHub的内容,网站内容和GitHub是一样的。2.GitHub加速下载http://toolwa.com/github/打开上述网址,只需要将想要下载的GitHub网址粘贴到输入框中即可。3.加速你的GitHubhttps://github.zhlh6.cn输入自己的GitHu

2020-08-27 09:40:03 6615 1

原创 概率图模型详解

概率图模型概率图模型使用图的方式表示概率分布。为了在图中添加各种概率,线面是随机变量分布的一些规则:可以看到,在链式法则中,如果数据维度特别高,那么采样和计算非常困难,我们需要在一定程度上做出简化,在朴素贝叶斯中,作出了条件独立性假设。在Markov假设中,给定数据的维度是以时间顺序出现的,给定当前时间的维度,那么下一个维度与之前的维度独立。在HMM中采用了齐次Markov假设,并在此假设的基础上加入条件独立性假设,对维度划分集合A,B,C使得概率图模型采用图的特点表示上述的条件独立性假设,节点表

2020-08-18 09:22:04 1277

原创 支持向量机SVM详解

支持向量机支持向量机(SVM)算法在分类问题中有着很重要的地位,其主要思想是最大化两类之间的间隔。按照数据集的特点:1:线性可分问题,如之前的感知机算法处理的问题2:线性可分,只有一点点错误点,如感知机算法发展出来的pocket算法处理的问题3:非线性问题,完全不可分,如在感知机问题发展出来的多层感知机和深度学习针对以上三种情况SVM有以下三种处理方式:1:hard-margin SVM2:soft-margin SVM3:kernel MethodHard-margin SVM支持向量

2020-08-12 09:22:54 343

预处理模型ssd.zip

预处理模型ssd.zip

2020-10-28

空空如也

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

TA关注的人

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