自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python多线程实现定时

常规的多线程代码:import threadingrunWebVedio(i): ...fun_timer(x): ...th1 = threading.Thread(target= runWebVedio, args=(1,), name="thread1")th2 = threading.Thread(target= fun_timer, args=(x,), name="thread2")th1.start()th2.start()但是几个线程没有先后执行顺序。上一篇文.

2021-11-15 14:54:20 1503

转载 python多线程按顺序执行

3种不同的队列类q=Queue(maxsize):创建一个FIFO(first-in first-out,先进先出)队列。maxsize是队列中金额以放入的项的最大数量。如果省略maxsize参数或将它置为0,队列大小将无穷大。q=LifoQueue(maxsize):创建一个LIFO(last-in first-out,后进先出)队列(栈)。q=PriorityQueue(maxsize):创建一个优先级队列,其中项按照优先级从低到高依次排好。使用这种队列时,项应该是(priority,

2021-11-12 10:45:32 3512

原创 python获取特定时间戳

1、获取当前时间之前的时间戳import datetimenow = datetime.datetime.now()#前1天1小时1分钟1秒之前的时间now - datetime.timedelta(days = 1, hours = 1, minutes = 1, seconds = 1)first_day = datetime.date.today().replace(day = 1)#本月1号last_month = first_day - datetime.timedelta(d

2021-10-08 11:20:30 2182

原创 Python 串口发送十六进制数据

1、安装serial库pip install pyserial如果想要提速,参考用pip install安装库时如何提速_xue_csdn的博客-CSDN博客1、临时提速在 pip install 包名 后面加上 -i + 镜像地址国内主要镜像地址如下:清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn

2021-09-16 14:37:02 4552 1

原创 树莓派4b 串口通信实现自发自收

1、树莓派串口映射设置运行以下命令:ls /dev -al出现串口映射的情况,但是此时是在默认状态下,serial0(就是GPIO14,15)是映射到ttyS0的,serial1(跟板载蓝牙相连)映射到ttyAMA0,ttyAMA0是硬件串口,它的时钟频不受CPU影响。也就是和现在图中的两个串口映射刚好相反(默认情况下的没截图)。图1一般串口都是用的ttyAMA0,要想和GPIO接,需要把映射状态调换一下。执行以下操作。(1)打开串口调试sudo raspi-config

2021-08-06 21:12:39 2383

原创 用pip install安装库时如何提速

1、临时提速在 pip install 包名 后面加上 -i + 镜像地址国内主要镜像地址如下:清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:http://pypi.sdutlinux

2020-11-24 13:09:49 526 1

转载 如何让你的YOLOV3模型更小更快?

1. 前言之前讲过关于模型剪枝的文章深度学习算法优化系列七 | ICCV 2017的一篇模型剪枝论文,也是2019年众多开源剪枝项目的理论基础 并分析过如何利用这个通道剪枝算法对常见的分类模型如VGG16/ResNet/DenseNet进行剪枝,见深度学习算法优化系列八 | VGG,ResNet,DenseNe模型剪枝代码实战 ,感兴趣的可以去看看。这篇推文主要是介绍一下如何将这个通道剪枝算法应用到YOLOV3上,参考的Github工程地址为:https://github.com/Lam1360/YOL

2020-08-13 17:07:12 1719 3

转载 YOLOv3通道+层剪枝,参数压缩98%,砍掉48个层,提速2倍!

尽管目标检测新算法层出不穷,但在实际工程项目中不少52CV群友还是念着YOLOv3的好。将其部署到边缘设备等时,模型剪枝是非常有必要的,毕竟有原始模型有239M的参数,剪枝后往往也能提速不少。比如之前52CV曾经分享过:YOLOv3模型剪枝,瘦身80%,提速100%,精度基本不变YOLOv3剪枝再升级!上述剪枝是减少模型通道数,而今天向大家介绍的工程可以实现通道和层的双向剪枝,在oxford hand 数据集hand检测问题中,作者实验中可以实现精度下降很小而参数减少 98%,砍掉 48 个

2020-08-12 21:27:14 2001 1

转载 YOLOV3中k-means聚类获得anchor boxes过程详解

  我们都知道yolov3对训练数据使用了k-means聚类的算法来获得anchor boxes大小,但是具体其计算过程是怎样的呢?下面我们来详细的分析其具体计算过程:第一步:首先我们要知道我们需要聚类的是bounding box,所以我们无需考虑其所属类别,第一步我们需要将所有的bounding box坐标提取出来,也许一张图有一个矩形框,也许有多个,但是我们需要无区别的将所有图片的所有矩形框提取出来,放在一起。第二步:数据处理获得所有训练数据bounding boxes的宽高数据。给的...

2020-07-30 17:29:13 7008

原创 YOLOv3网络改进(二)(未完)

参考:https://www.zhihu.com/question/308366100https://www.pythonheidong.com/blog/article/409533/1、根据自己的数据集重新计算anchor值官网或者AlexeyAB的yolov3.cfg中,都是是3个检测尺度共9个anchors,但是不同数据库的anchors值不一样,如果只用默认的anchor值,会造成检测框不精确,所以对于自训练模型来说,根据自身数据集或者网络的特征尺度的修改情况,来修改anchor值

2020-07-30 11:18:10 975

原创 YOLOv3网络改进(一)

参考:https://www.pythonheidong.com/blog/article/409533/在官网或者AlexeyAB中,YOLOv3的推理过程是用route把第85和61层、97和36层特征拼接在一起,在13x13尺度的基础上,增加了26x26、52x52两个尺度。但是如果想要对更小的目标做检测时,增加浅层网络的FPN,即继续按照同样的拼接原理,将上采样之后的特征与浅层网络特征拼接,完成第4个甚至第5个特征尺度。接下来介绍如何增加第4个尺度。原始yolov3结构增加第4个尺度104x

2020-07-30 10:48:52 5758 3

原创 仅修改darknet.py对视频做目标检测

在Darknet框架中,自带的darknet.py可以使用weight、cfg、coco.data(或者voc.data)、coco.names(voc.names),以及在darknet路径下make生成的libdarknet.so(如图1),利用这些文件即可完成图片中的目标检测,并标出检测框。图1图2 darknet.py的主函数但是对于检测视频来说,darknet.py中的detect函数,第3个参数是“data/dog.jpg”,是图片带路径的文件名,而opencv读取视频是这样操...

2020-06-09 16:16:12 1540 5

原创 Python之二维列表换行输出

代码:a=[]for i in range(5): a.append([]) for j in range(3): a[i].append(j)print(a)输出:[[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]但是想要把二维数组换行输出,更直观,用numpy是最简单方便的,修改为:import numpy as npa=[]for i in range(5): a.ap

2020-06-09 15:12:01 17059 3

原创 Python之10道最高频的手撕代码题

1、快速排序题目形式:手写一下快速排序算法。题目难度:中等。出现概率:约50%。手写快排绝对是手撕代码面试题中的百兽之王,掌握了它就是送分题,没有掌握它就是送命题。参考代码:def quick_sort(arr,start=0,end=None): if end is None: end = len(arr)-1 if end<=start: return(arr) i,j = start,end ref = arr

2020-06-09 13:55:57 2747

转载 Python之读取键盘输入到一维列表及二维列表

在网站上刷一些题的时候,经常涉及到从键盘的终端输入读取一系列参数,并把相应的参数存储到列表里的情况。1、Python读取列表的集中方式Python3 input() 函数:Python3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。注:在 Python3.x 中 raw_input() 和 input() 进行了整合,去除了 raw_input( ),仅保留了input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。sys.st

2020-06-09 13:28:35 3215

原创 YOLOv4(暂不完整 持续更新)

YOLOv4: Optimal Speed and Accuracy of Object Detection论文:https://arxiv.org/abs/2004.10934代码:https://github.com/AlexeyAB/darknet论文中提到,在COCO数据集上,YOLOv4比YOLOv3提升了10%的AP和12%的fps,所以YOLOv4更加快速、精准。达到这种效果,主要原因是YOLOv4将很多单独的优化算法做了集成,包括:Weighted-Residual-

2020-05-11 17:13:12 583 4

原创 YOLOv3

如果单纯跟着论文一步步的翻译, 是很难理清思路的。需要整理出YOLOv3哪些部分是保留了前2个版本,哪些是创新之处。2.1 bbox预测Bounding Box Prediction和YOLOv2一样,采用尺度聚类作为anchor box来预测bbox在训练期间 利用均方和误差,如果预测坐标的ground truth是tˆ,那相应的梯度就是ground truth值...

2020-05-08 20:39:55 580

原创 YOLO 9000

YOLO 9000和YOLOv2使用相同的网络结构。利用分类、检测的联合训练机制,利用ImageNet非常大量的分类样本,联合COCO的对象检测数据集一起训练,使得YOLOv2即使没有学过很多对象的检测样本,也能检测出这些对象。这就是YOLO9000的由来。 在此利用了WordNet这个语言数据库。(这部分让我有些头大......看不太懂) 为了...

2020-05-07 16:12:32 202

原创 YOLOv2

YOLOv1拙见https://blog.csdn.net/xue_csdn/article/details/105949984YOLOv2相比YOLOv1,预测更准确(Better),速度更快(Faster),识别对象更多(Stronger)1、Better(1)批归一化BN BN(Batch Normalization)这里就不详细介绍了。BN其实在YOLOv1中...

2020-05-07 15:49:46 388

原创 YOLOv1

YOLO是典型的one-step,将候选区的确定和检测过程合二为一,检测时间大大缩短。YOLOv11、直接上网络结构图2、训练过程 在训练之前,先在ImageNet上进行了预训练,其预训练的分类模型采用网络结构图中前20个卷积层,然后添加一个average-pool层和全连接层。预训练之后,在预训练得到的20层卷积层之上加上随机初始化的4个卷积层和2个全连接层。由于检测任...

2020-05-06 14:19:05 383

原创 ResNet--从理论到实践

1、理论理论部分参考:https://blog.csdn.net/weixin_43624538/article/details/85049699(我下边这篇写得有点简略,完整公式还是直接点击原博链接吧,我不想复制了,因为会导致格式乱八七糟的。强烈恳求CSDN能出一个一键转载的功能!!!)ResNet论文地址:https://arxiv.org/pdf/1512.03385.pdf...

2020-04-13 21:20:31 396

原创 分析神经网络参数量及计算量

知乎上有一篇文章,介绍了网络的时间复杂度和空间复杂度https://zhuanlan.zhihu.com/p/31575074只有卷积操作和全连接操作会有参数的增加,池化不会。1、卷积操作参数量及计算量以VGG16网络为例,第一层卷积图像输入为224x224x3,输出224×224×64,卷积核大小3×3,因此计算量:参数量:参数量计算中,3x3x3是三...

2020-04-08 15:22:13 3767

转载 CUDA——"从入门到放弃"

转载:https://www.jianshu.com/p/34a504af8d511. 知识准备1.1 中央处理器(CPU)中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。中央处理器主要包括运算器(算术...

2020-04-03 17:41:54 10589 7

原创 Tensorflow实现网络模型剪枝--model_pruning模块

部分代码参考:https://blog.csdn.net/lai_cheng/article/details/90643100剪枝:剪枝就是利用某一个准则对某一组或某一个权值置0从而达到将网络神经元置0以达到稀疏化网络连接从而加快整个推理过程及缩小模型大小的迭代过程,这个准则有暴力穷尽组合排忧、使用对角 Hessian 逼近计算每个权值的重要性、基于一阶泰勒展开的模型代价函数来对权值排序、...

2020-03-31 17:38:23 3549

原创 tf-CNN(三)Tensorflow将训练模型保存到本地

训练过程在上一篇博客里https://blog.csdn.net/xue_csdn/article/details/105128094首先在代码的相同路径下新建一个文件夹save_model。模型会被保存进来。直接把网络结构和模型的训练和保存写在同一代码里。save_model.py"""###训练猫狗分类模型###保存生成的模型"""#import tensorfl...

2020-03-28 10:23:07 1524

原创 tf-CNN(二)Tensorflow制作自己的数据集并训练

参考:https://www.jianshu.com/p/15e3f74180fchttps://blog.csdn.net/wiinter_fdd/article/details/72835939对于数据量较小而言,可能一般选择直接将数据加载进内存,然后再分batch输入网络进行训练。但是,如果数据量较大,这样的方法就不适用了,因为太耗内存。在这儿我介绍一种比较通用,高效的读取方法,即使...

2020-03-26 21:06:54 4438 5

原创 tf-CNN(一)Tensorflow创建一个简单的CNN模型

参考:https://www.jianshu.com/p/e2f62043d02b利用tensorflow框架和Python语言编写一个简单的卷积神经网络结构CNN来识别手写数字(mnist数据集方便调用)网络一共包括4层,分别是卷积层conv1+池化pooling 卷积层conv2+池化pooling 全连接层fc1+dropout 全连接层fc1+softmax(预测)i...

2020-03-25 17:32:26 1707

原创 机器学习实战--决策树

决策树算法——实现熵与信息增益选择最优特征1、熵、条件熵与信息增益熵(entropy)条件熵(conditional entropy)信息增益(information gain)信息增益算法实现流程2、实例(图片源于网络,侵删)数学计算过程:Python代码实现过程:先对数据集进行属性标注。年龄:0代表...

2020-03-20 16:31:35 223

转载 机器学习实战--朴素贝叶斯算法

朴素贝叶斯算法——实现新闻分类(Sklearn实现)转自:https://blog.csdn.net/asialee_bird1、朴素贝叶斯实现新闻分类的步骤(1)提供文本文件,即数据集下载(2)准备数据 将数据集划分为训练集和测试集;使用jieba模块进行分词,词频统计,停用词过滤,文本特征提取,将文本数据向量化 停用词文本stopword...

2020-03-19 16:28:18 304

转载 机器学习实战--KNN算法

KNN算法项目实战——改进约会网站的配对效果转自:https://www.cnblogs.com/asialee/p/9307337.html1、项目背景:海伦女士一直使用在线约会网站寻找适合自己的约会对象。尽管约会网站会推荐不同的人选,但她并不是喜欢每一个人。经过一番总结,她发现自己交往过的人可以进行如下分类:不喜欢的人 魅力一般的人 极具魅力的人2、项目数据海伦收集...

2020-03-19 16:16:13 203

原创 Linux 中 grep 命令的 12 个实践例子

grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和RHEl/CentOS/Fedora系中的yum)。sudo apt-get install grep #Debian/Ubuntu sudo yum install grep #RHEL...

2020-03-08 17:14:06 269

原创 Linux下Firefox或者pycharm等卡死,关闭进程的方法

先查看正在运行的进程终端执行:ps−ef出现然后强制关闭kill -s 9 3038最后数字是对应进程的第二列。9是传递给进程的信号,强制、尽快终止进程。其他参考:https://blog.csdn.net/a6225301/article/details/52250115...

2020-01-03 09:27:01 8456 1

原创 Linux 下最为人熟知的归档/压缩工具!

源于公众号:Python编程学习很多时候,通过互联网发送或接收大文件和图片是一件令人头疼的事。压缩及解压缩工具正好可以应对这个问题。下面让我们快速浏览一些可以使得我们的工作更加轻松的开源工具。1、TarTar 由 'Tape archiver(磁带归档器)' 衍生而来,最初被用来在磁带上归档和存储文件。Tar 是一个 GNU 软件,它可以压缩一组文件(归档),或提取它们以及对已有的...

2019-12-26 19:45:02 196

原创 ubuntu配置svn版本控制器

一、下载SVNsudo apt-get subversion在终端输入svn如果出现说明下载成功。(卸载方式:sudo apt-get remove --purge subversion二、配置SVN1、创建版本库所在文件(名字任取):在home目录下创建svn目录,然后在svn中创建repository目录(建议不要直接在home下创建,可能会有...

2019-12-25 21:42:58 186

原创 ubuntu配置ftp文件传输服务器

1、安装ftpsudo apt-get install vsftpd(卸载命令)sudo apt-get remove vsftpd启动sudo service vsftpd start重启service vsftpd restart2、修改配置文件sudo gedit /etc/vsftpd.conf参考:https://blog.csdn....

2019-12-25 21:42:30 446

原创 Ubuntu环境下配置使用GPU加速的dlib库

dlib是我用来做人脸识别的一个库,打算用mmod_human_face_detector.dat这个基于CNN的检测器实现,但是我之前直接用pycharm安装了dlib,所以无法在GPU上跑,导致跑起来很慢。所以尝试配置dlib+CUDA。前提是已经安装CUDA和cuDNN。我的版本:CUDA10.0,cuDNN7.6.01、首先安装一些依赖库sudo apt-get ins...

2019-11-27 18:35:08 4416 8

原创 ubuntu 多版本cuda切换(亲测有用)

我的cuda安装过2个版本,cuda7.5和cuda10.0,cuda10.0是后来安装的,所以默认使用10.0版本,当使用命令cat /usr/local/cuda/version.txt查询cuda版本时出现10.0,而使用命令nvcc -V或者nvcc --version查询时,出现的是7.5。有问题!1、符号链接设置在路径 /usr/local/下,有cud...

2019-11-27 14:09:37 1026 3

原创 ubuntu出现The System is running in low graphics mode问题解决

当ubuntu出现“The System is running in low graphics modeYour Screen, graphics card,and input device settings could not be detected correctly. You will need to configure this yourself.”解决方法1:cd /...

2019-11-20 15:01:45 1128

转载 Ubuntu中dpkg命令的用法

dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除。所有源自"Debian"的Linux的发行版都使用 dpkg, 例如"Ubuntu"阅读目录安装软件 列出与该包相关联的文件 显示包的版本 移除软件(保留配置) 移除软件(不保留配置) 查找包的详细信息 列出deb包的内容安装软件命令...

2019-11-12 20:36:08 2267

原创 tensorflow1.x和tensorflow2.0两个版本的函数对比表

https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0如果打不开网页,可以直接从我的网盘里下载:https://pan.baidu.com/s/1cWHtdQM1yoMOM4ZXt_vY9w,提取码:i953...

2019-11-05 20:36:51 17132 16

空空如也

空空如也

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

TA关注的人

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