- 博客(74)
- 资源 (3)
- 收藏
- 关注

原创 python日志处理-------logging
目录一、日志相关概念1.日志的作用2.日志的等级(level)3.日志字段信息与日志格式4.日志功能的实现二、logging模块简介1. logging模块的日志级别2. logging模块的使用方式介绍三、使用logging提供的模块级别的函数记录日志1.日志系统基本配置2.logging模块定义的格式字符串字段3、简单的日志系统使用示例4、其...
2019-04-14 21:48:47
409

原创 torch.norm的理解
官方文档torch.norm是对输入的Tensor求范数1.版本1--------------求张量范数torch.norm(input, p=2) → float参数:input (Tensor) – 输入张量 p (float,optional) – 范数计算中的幂指数值这是pytorch中的默认版本。输入为一个Tensor,输出是一个数。没啥多说的,直接上例子:...
2018-11-30 16:57:12
121368
3

原创 python求解二次规划问题
Python中支持Convex Optimization(凸规划)的模块为CVXOPT,其安装方式为:pip install cvxopt一、数学基础二次型 二次型(quadratic form):n个变量的二次多项式称为二次型,即在一个多项式中,未知数的个数为任意多个,但每一项的次数都为2的多项式。其基本形式如下 亦可写作, ,...
2018-11-28 21:13:44
25474
7

原创 C++泛型算法
1、什么是泛型算法泛型算法是C++标准库提供给各种容器的通用算法接口。这些算法包含了常用的查找,排序,删除、替换、集合、关系等等操作,此外算法独立于容器之外,适合各种类型的容器和数据。2、算法定义位置 【1】通用的泛型算法定义在<algorithm>头文件中 【2】数值相关的算法定义在<numeric>头文件3、如何使用泛型算法 泛型算法需要容器的...
2018-09-28 17:22:51
563

原创 ubuntu(linux)下安装openCV(ffmpeg导致的编译不通过的解决办法)
1.opencv-3.1.0/modules/videoio/src/cap_ffmpeg_impl.hpp:1313:21: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope c->flags |= CODEC_FLAG_GLOBAL_HEADER;2.opencv-3.1.0...
2018-09-26 17:12:25
7403
8
原创 图像分类处理小工具
功能:将图片移入对应文件夹# -*- coding: utf-8 -*-"""This is a image labelTool script file.parameter: labelMap : a dict like {0:'other',1:'cat',2:'dog',3:'car'} path : image dirThis script will create some dirs in path. Each of those dirs w
2022-01-13 11:13:35
812
原创 ubuntu装机
1、pip清华源https://mirrors.tuna.tsinghua.edu.cn/help/pypi/2、ubuntu 引导和grub修复u盘进入系统 添加boot-repair工具源 sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update 执行boot-repair
2021-03-07 21:56:32
366
原创 joblib----模型固化
joblib提供了三个与对象序列化和模型固化相关的函数hash,dump,load。joblib.hash主要是为了提供一个numpy对象的hash方法,joblib.dump并joblib.load替代了pickle,使其可以在包含大数据(尤其是大型numpy数组)的任意Python对象上高效工作。 hash joblib.hash(obj,hash_name ='md5',coerce_mmap = False )参数: hash_name:'md5'或'sha1'使用哈希算.
2020-12-17 21:50:41
3140
原创 python并行库------joblib
Joblib就是一个可以简单地将Python代码转换为并行计算模式的软件包,它可非常简单并行我们的程序,从而提高计算速度。主要提供了以下功能程序并行 用于在每次使用相同的输入参数调用函数时将其返回值缓存 数据存储(包括不可哈希的数据和大规模numpy数组)目录程序并行delayed函数Parallel函数 程序并行 joblib提供了一个简单地程序并行方案,主要有Parallel函数实现,并涉及了一个技巧性的函数delayed。 delayed函数 以下为...
2020-12-17 11:39:48
7312
1
原创 sklearn学习笔记
1、参考资料https://www.cnblogs.com/wj-1314/p/10179741.html2、交叉验证与参数选择https://zhuanlan.zhihu.com/p/80046738
2020-11-16 21:10:10
159
原创 sklearn的评价函数
参考资料:https://www.cnblogs.com/wj-1314/p/9400375.htmlsklearn集成了分类、回归、聚类、降维四个机器学习方向的大多数评价指标,位于sklearn的metrics库里面,下面主要说一下常用的评价指标api,做一下参考。...
2020-11-16 16:14:41
918
原创 sklearn onehot编码
sklearn onehot编码解读https://www.cnblogs.com/Jerry-home/p/9824085.html根据训练数据统计特征每一维度的状态数(n_values_属性) 根据每一维度的状态数计算该特征所需位数,然后将各维度特征进行onehot编码之后拼接起来(feature_indices_则是各维特征在onehot编码中的起始索引)from sklearn import preprocessingfeature = [['红','重','长'],['黑','轻','
2020-11-15 17:31:11
1335
原创 numpy选择特定的行列
有时需要抽取矩阵中特定行的特定列。比如,需要抽取矩阵x的0,1行的0,3列,结果为矩阵域x = np.array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15]])y = np.array([[ 0, 3], [ 4, 7]])错误做法:第一反应这样写x[[0,1],[0,3
2020-11-12 22:26:43
13164
原创 2020-11-06
python文件读read()、readline()、readlines()对比一、read方法 read()直接读取字节到字符串中,包括了换行符 特点是:读取整个文件,将文件内容放到一个字符串变量中。 劣势是:如果文件非常大,尤其是大于内存时,无法使用read()方法。二、readline方法 readline() 读取整行,包括行结束符,并作为字符串返回 特点:readline()方法每次读取一行;返回的是一个字符串对象,保持当前行的内存 缺点...
2020-11-06 21:53:14
143
原创 Group Sampling for Scale Invariant Face Detection阅读笔记
Movitation作者发现在训练过程中存在两个问题正负样本不均衡(OHEM,focal Loss等都是解决这个问题) 样本的尺度不均衡问题,在基于iou的匹配策略下,小尺度的样本更难匹配到合适的anchor。 插一句,个人感觉小目标在这种基于anchor的检测方法中性能较差的本质原因在于有效训练的样本过少,最终计算loss时正样本选择的是和anchor匹配上的样本,大目标很容...
2019-11-24 17:58:30
539
3
原创 numpy中clip函数
numpy中clip函数用法详解numpy.clip(a, a_min, a_max, out=None)参数说明a : 输入的数组 a_min: 限定的最小值 也可以是数组 如果为数组时 shape必须和a一样 a_max:限定的最大值 也可以是数组 shape和a一样 out:剪裁后的数组存入的数组将数组a的值限制在a_min和a_max之间。小于a_min的置为a_m...
2019-09-23 21:33:18
622
原创 反卷积的chushihua
反卷积执行的是将特征图从小分辨率放大到更大的分辨率。随机初始化可能导致训练速度慢或者难以收敛。一般用双线性核进行初始化,就是默认为双线性插值的参数。双线性操作的公式可以简化为,其中i,x,j,y均为归一化参数...
2019-09-23 11:10:31
360
原创 空洞卷积与RFBNet--------网格问题
前言: 最近在看RFBNet,其中提到ASPP结构的缺陷,当时不太理解,回去重新看了一下dalited conv一、dalited conv的缺陷 问题1:gridding effect 众所周知,空洞卷积在不增加参数的情况下扩大了卷积的感受野,但是与此同时带来了一个比较严峻的问题。由于空洞卷积在特征图上是离散的采样,缺乏相关性(个人认为这种操作在单独使用dalited ...
2019-08-24 17:05:20
4517
原创 pytorch---仿射变换
一、仿射变换图片的旋转、平移、缩放等可以看做一个像素的重采样过程。将原图的像素映射到目标图像的对应位置上,可以 其中为原图的坐标,x,y为目标图的坐标,该变换称为前向变换,遍历原图像素,求出改像素在目标图像的对应位置。 前向变换虽然符合逻辑,但是却使得目标图...
2019-08-08 21:05:36
7354
4
原创 本地项目同步到github
1.github上创建仓库,并复制一个提交代码的地址2.git init3.git add . (添加上传的文件)4.git commit -m "提交说明"5.git remote add origin http://....6.git push -u origin master...
2019-07-16 16:06:51
234
原创 tensorflow中的dropout
https://www.jianshu.com/p/c9f66bc8f96cTips: dropout是将输出结果按照drop_prob概率置0,其余非0元素则放缩为原来的1/drop_prob
2019-07-03 21:18:51
554
原创 pytorch实用网络分析工具
1.https://github.com/sksq96/pytorch-summarypytorch-summary是一个展示网络结构、参数、输出尺寸的实用分析工具2.https://github.com/Swall0w/torchstattorchstat 详细展示网络各层的参数,计算量,内存读写等等3.https://github.com/Lyken17/p...
2019-06-04 21:52:20
1808
3
转载 pytorch学习率调整规则
PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。c. 自定义调整:...
2019-05-30 20:08:14
2725
2
原创 CornerNet源码阅读笔记(一)------解码过程
CornerNet和loss、解码相关的函数其实在kp.py和kp_utils.py里面解码函数如下所示:def _decode( tl_heat, br_heat, tl_tag, br_tag, tl_regr, br_regr, K=100, kernel=1, ae_threshold=1, num_dets=1000): batch, cat, he...
2019-05-22 22:53:33
2853
9
原创 pytorch-ssd源码解读(三)------------multibox_loss(损失函数)
pytorch-ssd 本人加的注释版本一、SSD损失函数 SSD的损失函数与region proposal方法有个明显的区别,在于SSD并不是针对所有的检测器计算loss。SSD会用一种匹配策略给每个检测器分配一个真实标签(背景为0,前景为对应的物体类别)。指定的标签为前景的预测器称为正样本(正样本全部计算loss)。标签为背景的预测器是负样本,并不是所有的负样本都用来计算loss(...
2019-04-29 16:37:01
7241
14
原创 pytorch小知识点(三)-------Tensor的indices操作
一、Tesnor先简单介绍一下Tensor。Tensor是pytorch的核心,它是一个包含单一数据类型的多维矩阵。pyTorch定义了七种CPU tensor类型和八种GPU tensor类型:默认的torch.Tensor是FloatTensor。我们可以简单地向下面的方式创建一个Tensor:"""FloatTensor"""x1 = torch.FloatTen...
2019-04-29 15:01:58
18452
4
原创 pytorch小知识点(二)-------CrossEntropyLoss(reduction参数)
在使用Pytorch时经常碰见这些函数cross_entropy,CrossEntropyLoss, log_softmax, softmax。首先要知道上面提到的这些函数一部分是来自于torch.nn,而另一部分则来自于torch.nn.functional(常缩写为F)。二者函数的区别可参见知乎:torch.nn和funtional函数区别是什么?下面是对与cross entro...
2019-04-28 21:13:59
37803
3
原创 pytorch-ssd源码解读(二)------------detection(预测层)
一、定义detection层是ssd预测阶段的最后一层。它接收底层网络输出的位置偏移量(loc_data)、各个框置信度(conf_data)以及默认框(prior_data)。该层的作用是整合各层的预测结果,过滤置信度太低的预测框,通过类内nms抑制大量相同的预测框。二、代码解读1.输入loc_data 网络六个层预测的坐标偏移。Shape:[batch,num_prior...
2019-04-27 19:26:13
3143
4
原创 pytorch-ssd源码解读(一)------------PriorBox(默认框生成)
源码地址一、相关函数本部分介绍一下代码中使用的不常见的函数1、torch.clamp( )该函数原型如下:torch.clamp(input, min, max, out=None) --> Tensor将输入input张量每个元素的夹紧到区间 [min,max],并返回结果到一个新张量。其实就是我们常用的截断函数(分段阈值)。举个例子:input =...
2019-04-26 22:58:55
4989
10
原创 pytorch小知识点(一)-------in-place operation
一、什么是in-place在pytorch的很多函数中经常看到in-place选项,具体是什么意思一直一知半解。这次专门来学习一下,in-place operation在pytorch中是指改变一个tensor的值的时候,不经过复制操作,而是直接在原来的内存上改变它的值。可以把它称为原地操作符。在pytorch中经常加后缀“_”来代表原地in-place operation,比如说.add...
2019-04-26 21:59:54
3753
1
原创 python中的类方法和静态方法-------------@classmethod和@staticmethod
一、python中的方法python中存在三种方法,分别为常规方法(定义中传入self)、@classmethod修饰的类方法、@staticmethod修饰的静态方法。class A(object): num = 0 def __init__(self, index = 0): self.index = index def foo(self, ...
2019-04-25 20:52:54
607
原创 python中的继承机制---------super()函数深入理解
前言super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。一、super用法我们先简单的理解为super().xx相当于调用了父类中的xx方法(实际上在单继承中是这样,多继承中有点区别)。时候会看到像下面这样直接调用父类的一个方法:class Base: d...
2019-04-22 10:58:38
2001
原创 python方法封装成属性-------@property装饰器详解
一、为什么要将方法封装成属性假设我们定义了一个student类,他有score属性。这样直接把属性暴露出来,不管是修改成绩还是读取成绩都非常方便,但是带来的问题是无法检查参数是否合法(python没有办法强制要求变量类型),导致成绩可以随意修改:class student(): def __init__(self,name,score = 0): self.nam...
2019-04-21 22:55:51
1656
原创 python类中封装属性名-----单划线开头和双划线开头
python中并没有类似其他面向对象语言的private和public属性,无法在语言层面上用语言特性去封装数据。python用过对属性和方法的命名约定来实现数据封装的。约定单划线_开头的属性和方法属于类的私有成员(仅仅只是一个约定,并不会真的阻止用户去访问这个属性或方法) 双划线__开头的函数如(__init__)等会导致访问名称变成其他形式(如类A有一个__private()方法,则访问...
2019-04-21 21:55:11
1394
原创 python读写json文件
python中和json读写相关的主要是json模块的以下四个函数dumps() 将一个python对象编码为json对象 loads() 讲一个json对象解析为python对象 dump() 将python对象写入文件 load()从文件中读取json数据1、dumps()和loads()主要用于Python和json对象的相互转化。import jsonprices ...
2019-04-18 20:40:42
37217
1
原创 python文件操作-------os,shutil模块
1.获得文件的目录和文件名问题------给定一个形如"filepath = '/usr/local/pop.ini'"的文件路径,分离出它的目录名和文件名方法一:os.path.dirname()函数获取文件的目录 os.path.basename()函数获取文件名#coding=utf-8import osfilepath = '/usr/local/pop.ini'...
2019-04-18 17:35:11
176
原创 python日志处理迭代器与生成器
1.反向迭代目标:反向迭代一个序列 解决方法:使用内置的reversed()函数(要求对象的的大小预先确定或者该对象实现了__reversed__()方法才可以) a = [1,2,3,4,5,6]for i in reversed(a): print(i)"""输出结果 654321""" ps:我们可以通过在自定义的类上实现__reverse...
2019-04-16 21:19:53
225
原创 python字符串处理
1.字符串分割分隔符固定的字符串分割使用str.split()函数进行分割。str.split()默认空格或者逗号作为分隔符,但是其接受一个参数可以指定分隔符。如下:line1 = 'asdf fjdk afed fjek asdf foo'line1.split()Out[2]: ['asdf', 'fjdk', 'afed', 'fjek', 'asdf', 'foo']l...
2019-04-16 16:10:24
369
原创 python数据结构和算法
目录1.删除序列相同元素并保持顺序2.过滤元素序列1.删除序列相同元素并保持顺序 如果仅仅就是想消除重复元素,通常可以简单的构造一个集合,利用集合之间元素互不相同的特性就可以消除重复,但是这种方法生成的结果中元素的位置会被打乱。下面是我们的解决方案:def dedupe(items, key=None): seen = set() for item ...
2019-04-15 23:07:30
382
基于哈夫曼的信源编码与解码(附工程文件与实验报告)
2018-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人