自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 329

原创 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 115386 3

原创 python求解二次规划问题

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

2018-11-28 21:13:44 24489 7

原创 C++泛型算法

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

2018-09-28 17:22:51 503

原创 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 6507 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 665

原创 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 298

原创 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 2638

原创 python并行库------joblib

Joblib就是一个可以简单地将Python代码转换为并行计算模式的软件包,它可非常简单并行我们的程序,从而提高计算速度。主要提供了以下功能程序并行 用于在每次使用相同的输入参数调用函数时将其返回值缓存 数据存储(包括不可哈希的数据和大规模numpy数组)目录程序并行delayed函数Parallel函数 程序并行 joblib提供了一个简单地程序并行方案,主要有Parallel函数实现,并涉及了一个技巧性的函数delayed。 delayed函数 以下为...

2020-12-17 11:39:48 6467 1

原创 sklearn学习笔记

1、参考资料https://www.cnblogs.com/wj-1314/p/10179741.html2、交叉验证与参数选择https://zhuanlan.zhihu.com/p/80046738

2020-11-16 21:10:10 97

原创 sklearn的评价函数

参考资料:https://www.cnblogs.com/wj-1314/p/9400375.htmlsklearn集成了分类、回归、聚类、降维四个机器学习方向的大多数评价指标,位于sklearn的metrics库里面,下面主要说一下常用的评价指标api,做一下参考。...

2020-11-16 16:14:41 828

原创 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 1250

原创 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 12552

原创 决策树

https://www.cnblogs.com/lovephysics/p/7231294.html

2020-11-09 21:26:11 97

原创 2020-11-06

python文件读read()、readline()、readlines()对比一、read方法 read()直接读取字节到字符串中,包括了换行符  特点是:读取整个文件,将文件内容放到一个字符串变量中。  劣势是:如果文件非常大,尤其是大于内存时,无法使用read()方法。二、readline方法 readline() 读取整行,包括行结束符,并作为字符串返回  特点:readline()方法每次读取一行;返回的是一个字符串对象,保持当前行的内存  缺点...

2020-11-06 21:53:14 106

原创 Group Sampling for Scale Invariant Face Detection阅读笔记

Movitation作者发现在训练过程中存在两个问题正负样本不均衡(OHEM,focal Loss等都是解决这个问题) 样本的尺度不均衡问题,在基于iou的匹配策略下,小尺度的样本更难匹配到合适的anchor。 插一句,个人感觉小目标在这种基于anchor的检测方法中性能较差的本质原因在于有效训练的样本过少,最终计算loss时正样本选择的是和anchor匹配上的样本,大目标很容...

2019-11-24 17:58:30 488 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 523

原创 反卷积的chushihua

反卷积执行的是将特征图从小分辨率放大到更大的分辨率。随机初始化可能导致训练速度慢或者难以收敛。一般用双线性核进行初始化,就是默认为双线性插值的参数。双线性操作的公式可以简化为,其中i,x,j,y均为归一化参数...

2019-09-23 11:10:31 300

原创 空洞卷积与RFBNet--------网格问题

前言: 最近在看RFBNet,其中提到ASPP结构的缺陷,当时不太理解,回去重新看了一下dalited conv一、dalited conv的缺陷 问题1:gridding effect 众所周知,空洞卷积在不增加参数的情况下扩大了卷积的感受野,但是与此同时带来了一个比较严峻的问题。由于空洞卷积在特征图上是离散的采样,缺乏相关性(个人认为这种操作在单独使用dalited ...

2019-08-24 17:05:20 4221

原创 pytorch---仿射变换

一、仿射变换图片的旋转、平移、缩放等可以看做一个像素的重采样过程。将原图的像素映射到目标图像的对应位置上,可以 其中为原图的坐标,x,y为目标图的坐标,该变换称为前向变换,遍历原图像素,求出改像素在目标图像的对应位置。 前向变换虽然符合逻辑,但是却使得目标图...

2019-08-08 21:05:36 7146 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 178

原创 tensorflow中的dropout

https://www.jianshu.com/p/c9f66bc8f96cTips: dropout是将输出结果按照drop_prob概率置0,其余非0元素则放缩为原来的1/drop_prob

2019-07-03 21:18:51 490

原创 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 1707 3

原创 pytorch学习率调整规则

PyTorch学习率调整策略通过torch.optim.lr_scheduler接口实现。PyTorch提供的学习率调整策略分为三大类,分别是a. 有序调整:等间隔调整(Step),按需调整学习率(MultiStep),指数衰减调整(Exponential)和 余弦退火CosineAnnealing。b. 自适应调整:自适应调整学习率 ReduceLROnPlateau。c. 自定义调整:...

2019-05-30 20:08:14 2622 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 2772 9

原创 pytorch-ssd源码解读(三)------------multibox_loss(损失函数)

pytorch-ssd 本人加的注释版本一、SSD损失函数 SSD的损失函数与region proposal方法有个明显的区别,在于SSD并不是针对所有的检测器计算loss。SSD会用一种匹配策略给每个检测器分配一个真实标签(背景为0,前景为对应的物体类别)。指定的标签为前景的预测器称为正样本(正样本全部计算loss)。标签为背景的预测器是负样本,并不是所有的负样本都用来计算loss(...

2019-04-29 16:37:01 7071 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 17080 3

原创 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 35061 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 2980 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 4873 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 3548 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 428

原创 python中的继承机制---------super()函数深入理解

前言super 是用来解决多重继承问题的,直接用类名调用父类方法在使用单继承的时候没问题,但是如果使用多继承,会涉及到查找顺序(MRO)、重复调用(钻石继承)等种种问题。一、super用法我们先简单的理解为super().xx相当于调用了父类中的xx方法(实际上在单继承中是这样,多继承中有点区别)。时候会看到像下面这样直接调用父类的一个方法:class Base: d...

2019-04-22 10:58:38 1906

原创 python方法封装成属性-------@property装饰器详解

一、为什么要将方法封装成属性假设我们定义了一个student类,他有score属性。这样直接把属性暴露出来,不管是修改成绩还是读取成绩都非常方便,但是带来的问题是无法检查参数是否合法(python没有办法强制要求变量类型),导致成绩可以随意修改:class student(): def __init__(self,name,score = 0): self.nam...

2019-04-21 22:55:51 1470

原创 python类中封装属性名-----单划线开头和双划线开头

python中并没有类似其他面向对象语言的private和public属性,无法在语言层面上用语言特性去封装数据。python用过对属性和方法的命名约定来实现数据封装的。约定单划线_开头的属性和方法属于类的私有成员(仅仅只是一个约定,并不会真的阻止用户去访问这个属性或方法) 双划线__开头的函数如(__init__)等会导致访问名称变成其他形式(如类A有一个__private()方法,则访问...

2019-04-21 21:55:11 1297

原创 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 36771 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 149

原创 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 185

原创 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 302

原创 python数据结构和算法

目录1.删除序列相同元素并保持顺序2.过滤元素序列1.删除序列相同元素并保持顺序 如果仅仅就是想消除重复元素,通常可以简单的构造一个集合,利用集合之间元素互不相同的特性就可以消除重复,但是这种方法生成的结果中元素的位置会被打乱。下面是我们的解决方案:def dedupe(items, key=None): seen = set() for item ...

2019-04-15 23:07:30 302

Dijkstra算法python实现

本资源为图临接链表结构及常用算法python实现。包括深度优先遍历算法,Dijkstra算法。。后期继续更新

2019-03-21

pytorch自定义新层demo

本代码实现了pytorch自定义层的demo,包括层的定义和测试数据、模型训练、loss图像可视化等,希望能帮助需要的同学

2018-12-02

基于哈夫曼的信源编码与解码(附工程文件与实验报告)

通过编程实现仿真模拟基于哈夫曼编码的信源编码与解码过程,对于给定的源文档SourceDoc.txt, 1) 统计其中所有字符的频度(某字符的频度等于其出现的总次数除以总字符数),字符包括字母(区分大小写)、标点符号、格式控制符(空格、回车等)以及特殊字符。 2)按频度统计结果构建哈夫曼编码表,输出哈夫曼码表信息文件Statistic.txt。 3)基于哈夫曼编码表进行编码,生成对应的二进制码流,并输出到文件Encode.dat,完成信源的编码过程。 4)根据生成的哈夫曼编码表,对二进制码流文件Encode.dat进行解码,把结果输出到文件TargetDoc.txt,完成信源的解码过程。 5)判断TargetDoc.txt与SourceDoc.txt内容是否一致,以验证编解码系统的正确性。

2018-05-14

空空如也

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

TA关注的人

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