自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shuijinghua的博客

帮助自己巩固知识,帮助他人理解相关内容

原创 windows pip安装较慢的解决办法

最近换了windows系统,pip安装的非常慢,按照网上的方法改了pip.inin文件也没解决问题,暂时只能用比较笨的办法了win+r进入运行界面,输入"cmd",回车激活自己的虚拟环境conda activate sleep #这里sleep是我自己的虚拟环境名pip 安装 ,-i参数配置源pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple/常用的镜像源有阿里云:http://mirrors.aliyu

2020-08-13 09:28:45 21

原创 C语言

C语言中,表示“或”有两种:1.表示按位或“|”|是位运算,运算结果是二进制数

2020-08-12 11:38:27 19

原创 strlen()在C/C++的应用

strlen()计算字符串str的长度,直到空结束字符,但不包括空结束字符串。个人觉得就是查字符的个数C中函数声明为size_t strlen(const char *str)c中#include <stdio.h>#include<string.h>int main(){ char s[10000]="Pulse-Level"; int len=strlen(s); printf("%d \n",len);//11 ret

2020-08-12 09:49:31

原创 为什么python打印数据显示为b“xxx“格式

参考:https://blog.csdn.net/teavamc/article/details/77651771这种情况出现在我的下位机向上位机传递数据后,上位机在打印数据的过程中。举一个例子:我的下位机是一个单片机,会通过串口向上位机发送一段数据。这里随意写一个C下位机的程序include "stm32f10x.h"include "delay.h"int main(void){ print("112233test332211\n");}也随意写一个python上

2020-08-10 18:52:19 33

原创 STM32-单片机之DMA(Direct Memory Access,DMA)

DMA:Direct Memory Access,直接存储器存取,是计算机科学中的一种内存访问技术,它允许某些电脑内部的硬件子系统(电脑外设),可以独立地直接读写系统存储器,而不需绕道CPU。在同等程度的CPU负担下,DMA是一种快速的数据传送方式。它允许不同速度的硬件装置来沟通,而不需要依赖CPU的大量中断请求。STM32就有一个DMA控制器,它有7个通道,每个通道专门用来管理一个或多个外设对存储器访问的请求,还有一个仲裁器来协调各个DMA请求的优先权。DMA有什么用? 直...

2020-07-28 09:25:56 54

原创 计算视频FPS

'''功能:计算算法预测视频时的速度FPS,即1秒检测多少帧'''import cv2import numpy as npFPSES=[]import timedef predict_method():#模拟算法用时 time.sleep(0.01)def main(): video_path= './test_video/001.mp4' cap = cv2.VideoCapture(video_path) cap.set(cv2.CAP_PROP_..

2020-07-15 12:09:49 90

原创 crontab实现定时触发任务

在运维工作中,经常用到定时任务,无论是shell脚本还是DBM,job定时任务都是自动化比不可少的任务.定时器参数说明分,时,日,月,星期,要运行的命令第1列分钟1-59第二列小时1-23第三列日 1-31第五列月1-12第五列星期0-6第6列要运行的命令,文件中通过5个*来确定命令或任务的执行时间的,这5个*的具体含义如上表所示.表 2 crontab 时间表示 项目 含义 范围第一个"*" 一小时当中的第几分钟(minute) ...

2020-07-15 11:40:41 80

原创 pytorch安装

conda 常用的命令1)conda list 查看安装了哪些包2)conda update conda 检查更新当前conda3)conda env list 或 conda info -e 查看anconda安装的所有虚拟环境4) conda -V 检验是否安装以及当前conda的版本备注:若想在电脑主机装opencv,而不是装到虚拟环境中(比如,很多时候编译的时候调的是根目录下的包)sudo apt-get install libopencv-dev创建python虚拟环

2020-07-15 09:50:50 111

原创 pytorch模型加速

一个关键的原则:”仅仅在权重更新的时候使用fp32,耗时的前向和后向运算都使用fp16.",其中的一个技巧是,在反向计算开始前,将dloss乘上一个scale,人为变大,权重更新前,除去scale,恢复正常值。目的是为了减小激活gradient下溢出的风险。fp16:半精度如何在pytorch中使用fp16混合精度训练呢?nn.Module中的half()方法将模型中的float32转化为float16,实现的原理是遍历所有tensor,而float32和float16都是tensor的属性,也

2020-06-18 15:58:30 281

原创 Receptive Field 感受野的计算

1。感受野的定义The receptive field is defined as the region in the input space that a particular CNN's feature is looking at(i.e. be affected by)--Dang Ha The Hien.在卷积神经网络中,感受野是用来表示网络内部的不同位置的神经元对原图像的感受范围的大小。蓝荣祎我们通过一个例子来理解下,假设输入图像为5×5,卷积核(kernel size)为3*3,pa

2020-06-01 16:21:15 109

原创 SPP空间金字塔池化(spatial pyramid pooling, SPP)原理与pytorc实现

1、为什么需要SPP?过去的卷积神经网络CNN由卷积层+全连接层组成,其中卷积层对于输入数据的大小并没有要求,唯一对数据大小有要求的则是第一个全连接层,因此基本上所有的CNN都要求数据数据固定大小,例如著名的VGG模型则要求输入数据大小是(224×224)。固定输入数据大小有两个问题:1、很多场景所得到的数据并不是固定大小的,例如不同相机,不同手机,拍出来的图片其宽高比是不固定的;2、有人说可以对图片进行切割,但是切割的话很可能会丢失到重要信息。综上,SPP的提出就是为了解决CNN输入图

2020-06-01 14:58:12 236

原创 Mish激活函数及Pytorch实现

论文题目:Mish: A Self Regularized Non-Monotonic Neural Activation Function论文: https://arxiv.org/pdf/1908.08681.pdf该论文介绍了一个新的深度学习激活函数,该函数在最终准确度上比Swish(+0.494%)和ReLU(+1.671%)都有提高。Mish已经在70多个基准上进行了测试,包括图像分类,分割和生成,并与其他15个激活函数进行了比较。ReLU和Mish的对比,Mish的梯度更平滑

2020-06-01 11:57:16 335

原创 map,AP,APs,APm,APl,AP0.5等的理解

APs,APm,APl,AP0.5等都是在基于COCO数据时候定义出来评论检测模型的指标,具体含义如下图:AP是所有类别的平均值,传统上,这被称为平均准确度(mAP,mean average precision)在coco数据集中,大约41%的物体很小(面积<32*32),34%是中等(32*32<area<96*96),24%大(area>96*96)...

2020-05-28 15:02:53 908

原创 CutMix数据增强

论文地址:https://arxiv.org/abs/1905.04899v2代码: https://github.com/clovaai/CutMix-PyTorch参考:https://blog.csdn.net/weixin_38715903/article/details/103999227几种数据增强的区别:Mixup, cutout, cutmixmixup:将随机的两张样本按比例混合,分类的结果按比例分配cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类

2020-05-27 11:17:20 331

原创 bflops理解

参考:https://blog.csdn.net/avideointerfaces/article/details/88243699最近看目标检测论文,经常看到BFLOPS的概念,对其比较疑惑,这里结合源代码来理解一下.BFLOPS有两个不同场景下的解释,第一种是描述硬件运算性能的单位,这时其全称是Billion Float operations per second,即每秒能进行多少个 十亿次浮点运算符;第二种是描述某次卷积运算需要的多少个十亿次浮点运算,其全称是billion float ope

2020-05-22 16:19:00 249

原创 voc标准转换为coco标注

# -*- coding:utf-8 -*-# !/usr/bin/env pythonimport jsonimport cv2import numpy as npimport globimport PIL.Imageimport os, sysimport shutilclass PascalVOC2coco(object): def __init__(self, xml=[], save_json_path='./new.json'): ''' .

2020-05-19 17:13:53 153

原创 @classmethod用法

@classmethod 修饰符对应的函数不需要实例化,不需要self参数,但第一个参数需要是表示自身类的cls参数,可以来调用类的属性,类的方法,实例化对象等.class A(object): bar = 1 def func1(self): print('foo') @classmethod def func2(cls): print('func2') print(cls.bar) cls().fun.

2020-05-19 14:23:52 117

原创 super(XXX, self).__init__()在类中的作用

这是对继承自父类的属性进行初始化,而且是用父类的初始化方法来初始化继承的属性.也就是说,子类继承了父类的所有属性和方法,class EfficientDetBackbone(nn.Module): def __init__(self, num_classes=80, compound_coef=0, load_weights=False, **kwargs): super(EfficientDetBackbone, self).__init__()比如上例中,先找到 Eff

2020-05-19 10:56:42 393

原创 python查看版本号

查看版本号import platformprint(platform.python_version())

2020-05-15 10:22:54 129

原创 efficientnet rethinking model scaling for convolutional neural networks(ConvNets)论文阅读

代码链接:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet第三方实现的PyTorch代码:https://github.com/lukemelas/EfficientNet-PyTorchconvolutional neural networs(ConvNets)这篇ICML2019...

2020-05-13 16:41:30 87

原创 专利意见

意见:不属于专利法所要求第二条第三款所规定的实用新型保护客体实用新型的权利要求保护的是确定的产品结构,线路连接关系,虚拟模块的连接,一样不属于实用新型保护范围,实用新型的权利要求书把方法删去,但是说明书还是提到了方法从你的描述看,作为实用新型可能具有先天的难以克服的缺陷。如果原始权利要求写成硬件部件之间的连接关系(计算机程序也必须依赖某种硬件发挥功能),强调实用新型保护的就是上述硬件及其连接关系,还有希望。把技术原理删除,只留下形状和构造就可以了实用新型是针对的结构方面, 方式..

2020-05-12 18:02:57 43

原创 通过webserver监听是否有新文件加入

服务器端,监听服务器上某个文件夹中是否有新的文件产生,若有,就发送出去,server.py,# -*- coding: utf-8 -*-# !/usr/bin/python3#服务器端监听服务器上某个文件夹中是否有新增图片,第一次用while循环import base64import osimport requestsdef fileListener(filepath,url): before = dict([(f, None) for f in os.listdir (fil

2020-05-09 14:50:53 97

原创 论文阅读Bayesian Loss for Crowd Count Estimation with Point Supervision

论文: http://openaccess.thecvf.com/content_ICCV_2019/papers/Ma_Bayesian_Loss_for_Crowd_Count_Estimation_With_Point_Supervision_ICCV_2019_paper.pdf代码:http://openaccess.thecvf.com/content_ICCV_2019/pape...

2020-05-06 17:14:45 189

原创 后验概率

后验概率是信息理论的基本概念之一.是指在得到"结果"的信息后重新修正的概率,是"执果寻引"问题中的果.事情还没有发生,要求这件事情发生的可能性的大小,是先验概率.事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验后概率.后验概率的计算要以先验概率为基础,通过贝叶斯公式,用先验概率和似然函数计算出来.举例:假设一个学校里有60%男生和40%女生.女生穿裤子的人...

2020-05-06 13:58:25 91

原创 python 删除比较早的文件

若文件中的图片数目超过了1000张,删除多余的图片main.py'''根据文件夹大小定时删除文件夹部分比较旧的数据'''from config import configfrom utils.util_process import *'''计算文件夹容量 单位为MB'''if __name__ == '__main__': FILE_DIR = './images_out...

2020-04-29 15:32:51 76

原创 ffmpeg的 pyav实践

打开视频#遗留问题,感觉这个播放的比实际的快import cv2from av import openvideo = open("./videos/test4.mp4")stream = next(s for s in video.streams if s.type == 'video')name_window = "object detect_"cv2.namedWindo...

2020-04-28 11:09:42 202

原创 python 线程thread的终结

python 3.6下测试无问题import threadingimport timeimport inspectimport ctypesdef _async_raise(tid, exctype): """raises the exception, performs cleanup if needed""" tid = ctypes.c_long(tid) ...

2020-04-27 14:46:13 72

原创 tar -cvf 打包后上传

今天上传一个文件夹到服务器,里面有大概20万个文件,结果复制了一上午还没搞完,后面听同事说可以tar打包一下,因为小文件有校对什么的,造成复制缓慢比如在当前文件夹打开一个终端,然后输入打包命令tar -cvf ccpd_base.tar ./annotations则就会将当前文件夹下的annotations文件夹打包为ccpd_base.tar...

2020-04-26 13:55:08 115

原创 FFmpeg学习1

数据的读取一个多媒体文件包含有多个流(视频流video stream,音频流 audio stream,字幕等),流是一种抽象的概念,表示一连串的数据元素.流中的数据元素称为帧frame,也就是说多媒体文件中,主要有两种数据:流stream及其数据元素帧frame,在FFmpeg自然有与这两种数据相对应的抽象AVStream和AVPacket.使用FFmpeg的解码,数据的传递过程可归纳如...

2020-04-22 15:13:05 49

原创 python安装 ffmpeg-python

参考:https://github.com/kkroening/ffmpeg-python/tree/master/exampleshttps://github.com/kkroening/ffmpeg-python/tree/master/examples测试代码

2020-04-21 17:23:23 315

原创 在linux系统中安装VSCode(Visual Studio Code)

参考:https://www.cnblogs.com/lzpong/articles/6145511.html在linux系统中安装VSCode(Visual Studio Code)1.从官网下载压缩包(话说下载下来解压就直接可以运行了咧,都不需要make)访问Visual Studio Code官网https://code.visualstudio.com/docs?dv=lin...

2020-04-15 10:45:37 107

原创 offsetof()用法解析--尚有遗留问题2020/4/8

今天在看代码时遇到下面的用法typedef struct _C_MpegDecoder{ PyObject_HEAD // == PyObject ob_base; 定义一个PyObject对象. //////////////////////////////////////////////////...

2020-04-08 17:50:36 110

原创 python中对多态的理解

多态多态是指一类事物有多种形态,比如动物类,可以有锚,狗,猪等.(一个抽象类有多个子类,因而多态的概念依赖于继承)多态性注意:多态与多态性是两种概念多态性是指具有不同功能的函数可以使用相同的函数名,这样就可以用一个函数名调用不同内容的函数.在面向推向方法中一般是这样表述多态性,向不同的对象发送同一条消息,不同的对象在接收时会产生不同的行为(即方法),也就是说,每个对象可以用自己的方...

2020-04-08 16:35:50 83

原创 g++/gcc -o -c -shared等常用指令介绍

最近在做python的c++扩展模块,用到了gcc编译器,现在来总结下,比如我用了下面指令g++ -o _myso.so -shared -fpic -I/home/jerry/anaconda3/envs/tf13py36/include/python3.6m Extest2.cpp 那么里面的参数都有什么意义呢?-o:指定生成可执行文件的名称,使用方法g++ -o afile...

2020-04-01 14:26:32 183

原创 distutils和setuptools的联系与区别

distutils仍然是使用python打包的标准工具,它包含在标准库中,它对于简单的python发型版很有用,但缺少功能。setuptools是为克服Distutils的局限性而开发的,它不包含在标准库中,它引入了一个名为easy_install的命令行实用程序。建议:除非你的要求非常基本并且需要distuitils,建议使用setuptools。...

2020-03-31 17:19:08 69

原创 gcc和g++ 简介

gcc是一个c编译器, g++是c++编译器。我们根据代码的后缀名来判断用哪个编译器,若代码后缀名是*.c,就用gcc,若代码后缀名是*.cpp就用g++编译器。g++既可以编译c又可以编译c++,是因为g++在内部做了处理,默认编译c++程序,但如果遇到c程序,它会直接调用gcc去编译。但有些理解还是有误区的误区一:gcc只能编译c代码,g++只能编译c++代码1、后缀为.c的,...

2020-03-31 16:47:01 45

原创 ldd -r xxx.so命令 undefined symbol即错误定位c++filt

ldd: 用来查看动态库运行所需要的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题./opt/app/todeav1/test$ldd testlibstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00000039a7e00000)libm.so.6 => /lib64/libm.so.6 (0x00000039964000...

2020-03-27 18:04:07 229

原创 Distutils发布c++扩展的python模块setup.py

很多大的程序使用前都会需要调用setup.py进行build编译并安装自己的库,编写setup.py是为了实现python的C/C++扩展.比如用c++编写nms算法程序,然后作为扩展程序在pytorch进行导入即可,这部分就是setup.py完成的.本地生产python 模块,动态库python setup.py builde_ext --inplace在相应python版本安装...

2020-03-27 15:37:27 279

原创 linux下ffmpeg环境搭建记录

linux安装软件采用源码安装灵活自由,适用于不同的平台,维护也十分方便,源码的安装一般由3个步骤组成:配置(configure)编译make,根据Makefile文件编译源代码,连接,生成目标文件,可执行文件.安装 make install,将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录ps:具体中具体的安装方法一般作者都会给出文档.1. ...

2020-03-26 11:20:34 95

原创 python opencv rtsp

在用python的opencv 读取rtsp网络摄像头,然后再进行物体检测时,发先视频延迟厉害,cpu使用率高.而用usb摄像头或读取本地视频时,这个感觉不是特别严重.经过讨论和测试,发现一个很重要的原因,就是解码需要消耗大量的cpu资源!第一种方法: 用两个不同的线程,一个接收每一帧图像,另一个线程处理图像,构造一个队列,使用两个线程处理程序错误列举[h264 @ 0x3b...

2020-03-24 18:00:09 204

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