自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 论坛 (2)
  • 收藏
  • 关注

翻译 【论文翻译】SORT:SIMPLE ONLINE AND REALTIME TRACKING

SIMPLE ONLINE AND REALTIME TRACKINGAlex Bewley†, Zongyuan Ge†, Lionel Ott⋄, Fabio Ramos⋄, Ben Upcroft†Queensland University of Technology†, University of Sydney⋄论文: https://arxiv.org/abs/1602.00763代码: https://github.com/abewley/sortABSTRACT本文探讨了一种实用

2020-11-25 14:14:06 24

翻译 【论文翻译】ROLO:Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking

Spatially Supervised Recurrent Convolutional NeuralNetworks for Visual Object TrackingGuanghan Ning∗, Zhi Zhang, Chen Huang, Zhihai HeDepartment of Electrical and Computer EngineeringUniversity of MissouriColumbia, MO 65201{gnxr9, zzbhf, chenhuang,

2020-11-24 16:41:14 116

原创 实例讲解C++的重载、覆盖、隐藏、虚函数

C++的重载、覆盖、隐藏、虚函数、纯虚函数等概念,都体现于多态的体系中,我会用简单的例子阐述清楚。本文提及的 父类 即 基类,子类 即 派生类。先看demo:#include <stdio.h>class OverLoadClass{ public: void run(int i) {printf("int: %d\n", i);} void run(float i) {printf("float: %f\n", i);}// void run(float j) {pr

2020-11-02 21:24:50 12

原创 华为机试:购物单问题(动态规划)

题目描述:王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书书桌台灯,文具工作椅无如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买的东西很多,为了不超出预算,他把每件物品规定了一个重要度,分为 5 等:用整数 1 ~ 5 表示,第

2020-10-21 16:23:02 47 1

原创 Python的深拷贝与浅拷贝

Python的拷贝应该是有三种形式分别是赋值:origin2 = origin浅拷贝:cpy1 = copy.copy(origin)以及深拷贝:cpy2 = copy.deepcopy(origin)比较好的例子是列表嵌套各种元素,先看一下实验对比结果:可以看出赋值只是用另一个名字指向同一个内存空间,而浅拷贝和深拷贝都开辟了新的内存空间。可以看出==是逐个元素去对比是否相同,而is是判断是否指向同一内存空间。浅拷贝的结果直接指向了嵌套内的列表内存,而深拷贝连嵌套

2020-10-13 12:46:03 67 1

原创 batch size浅谈

Batch Size的概念:每个Batch(批次)的大小。例如所有训练集有1000个样本,每把1000个Sample跑完就是一个epoch。那么在一个epoch中,同时取多少个sample进行训练,就是batch size。当今神经网络的训练中,所需要的训练集是非常庞大的,因此我们没办法一次性把所有训练集放进内存或显存中,统一训练。在同时训练的数量差别上,分三种类型:batch size=1;batch size=n (dataset > n > 1);batch size=siz

2020-09-25 10:43:31 25

原创 Numpy判断某维度是否相同

在 语义分割(Semantic segmentation) 领域深度学习的label预处理工作中,要把3通道的label数据转为单通道的mask作为训练样本。例如把一堆黑色和红色的像素,转为全是0和1的单通道 mask。最Normal的处理流程为:判断像素的颜色;根据颜色赋值对应的label。那么在步骤一中,就要判断 label 的 channel 维度(例如shape为(480, 1280, 3),则channel维度为最后的3)和 color是否相同。假设 label 大小为 4 x

2020-09-18 18:25:30 84

原创 解决方案:AttributeError: module ‘labelme.utils‘ has no attribute ‘label_colormap‘

使用labelme的GitHub中提供的json批量转voc格式的脚本,报错如下:后发现是因为copy脚本时选择的版本不对:只要选回master或者自己安装的对应版本再copy就好了:

2020-09-18 09:46:59 30

原创 图像边缘检测

1. 一阶导(First-order derivative)∂f∂x=f(x+1)−f(x)\frac {\partial f}{\partial x} = f(x+1) - f(x)∂x∂f​=f(x+1)−f(x)2. 二阶导(Second-order derivative)∂2f∂x=f′(x+1)−f′(x)=f(x+2)−f(x+1)−f(x+1)+f(x)=f(x+1)+f(x−1)−2f(x)\begin{aligned}\frac {\partial^2 f}{\partial

2020-08-02 09:12:06 66

原创 快速排序quicksort笔记

快排采用了分治法的思想和递归的方式进行排序,每次递归都会确定一个位置的数值(此处是位置i)。def _quicksort(l, left, right): if left >= right: return i = left j = right key = l[left] while i < j: # 先从后往前扫,直到小于key while i < j and key <= l[j]: j -= 1 a[i] = a[j] # 此时a[i]已经有了

2020-07-22 22:55:31 65

原创 LintCode刷题笔记

1. DFS1.1 Palindrome Partitioning题目跳转:https://www.lintcode.com/problem/palindrome-partitioning/descriptionclass Solution: """ @param: s: A string @return: A list of lists of string """ def partition(self, s): # write your c

2020-07-16 12:00:59 197

原创 卡尔曼滤波学习笔记(含公式推导)

假设Kalman Filter用于对位置的预测,那么我们要预测变量有二:位置和速度。1. 位置转换在当前k时刻,p和v分别表示位置(position)和速度(velocity):xk^=(pk,vk)\hat{x_k} = (p_k, v_k)xk​^​=(pk​,vk​)每个预测的元素之间都会相互关联,我们用协方差矩阵(covarance matrix)表示:sk=[∑pp∑pv∑vp∑vv]s_k = \begin{bmatrix}\sum_{pp} & \sum_{pv}

2020-06-25 17:06:07 252

原创 focal loss学习笔记

背景目标检测中,one-stage相比two-stage,要在更稠密的样本中进行筛选和学习(即Dense Predict),而且后者基于proposal的思想,已经初筛掉大部分easy background。因此前景背景(foreground-background)的不平衡(imbalance)是one-stage训练时的主要问题。one-stage在训练时都会面临class-imbalance的问题,会导致两个弊端:训练不高效,大多数位置都是easy negtive,贡献很少的有用学习信号(use

2020-06-20 17:30:14 118

原创 基于Pytorch源码对Adagrad、Adadelta、RMSProp、Adam等自适应学习率进行学习

公式是实现的原理,而源码才是让想法落地的媒介。希望能透过源代码,对原理有更具体的理解,回顾公式,也会有更深入的感受。前期基于Pytorch的源码,对SGD进行了学习:基于torch.optim.sgd.py源码对SGD、momentum、Nesterov学习本文会基于Pytorch源码,对Adagrad进行学习。Adagrad在SGD的年代,我们只能通过学习率(learning rate)来宏观控制网络的参数的学习速度,这从直观上是不太细致的。随着人脑突触的实验进展,发现人脑神经元是有一定稀疏性的

2020-06-16 22:03:34 152

原创 基于Pytorch源码对SGD、momentum、Nesterov学习

目前神经网络的监督学习过程通常为:数据加载(load)进神经网络经过网络参数对数据的计算,得出预测值(predict)根据预测值与标注值(label)之间的差距,产生损失(loss)通过反向传播(BP:Back Propagation)对神经网络的各个参数产生梯度(gradient)依据特定的梯度下降算法(如SGD:Stochastic Gradient Descent随机梯度下降),基于梯度对参数进行更新前五步重复,直到网络参数收敛(convergence)本文主要想基于Pytorch的

2020-06-14 22:34:48 578

原创 二维卷积神经网络的初始化为0及其他初始化方式对比
原力计划

今天想结合实验及公式讨论下,二维卷积神经网络下,初始化为0初始化为常数kaiming初始化3种初始化方式的结果。并分析复杂模型不能初始化为0的根本原因。1. 实验背景先介绍下实验模型,用的是Pytorch下两层卷积网络,各接BN层和ReLU层:class Model(nn.Module): def __init__(self): super(Model, self).__init__() self.conv1 = nn.Conv2d(3, 3, 3, padding=1, bi

2020-06-07 20:54:39 223

原创 Batch Normalization的理解体会
原力计划

网络上对于Batch Normalization的讲解也非常多了,本文主要想记录下对此的心得体会,并总结下我所理解的BN的优势。在此先mark一下我认为写得比较全面的资料:BN的原理(文章1):【深度学习】深入理解Batch Normalization批标准化BN的论文:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate ShiftBN work的原因(文章2):为什么B

2020-06-06 20:23:37 100

原创 softmax+cross-entropy的前向计算、反向传播的公式推导
原力计划

本文偏公式推导。1. Softmax前向计算把Softmax把Softmax把Softmax输出的概率定义为 pip_ipi​Softmax(ai)=pi=eai∑jNeajSoftmax(a_i) = p_i = \frac {e^{a_i}} {\sum_j^N e^{a_j}}Softmax(ai​)=pi​=∑jN​eaj​eai​​模型输出[a1,a2,...,aN][a_1, a_2, ..., a_N][a1​,a2​,...,aN​],共N个值。其中aia_iai​代表第iii

2020-05-29 08:36:42 224

原创 目标检测的AP(Average Precision)代码解析与深入思考

1. 引言Average Precision的原理可见 多标签图像分类任务的评价方法-mAP ,个人感觉文章对计算流程、PR曲线(Precision-Recall)、图例都展示得比较好。另外,忘记从哪篇文章中提到的一句讲得特别精髓,大致意思如下:对confidence socre降序排列后,再把第k行作为top-k的分界线,进行Precision和Recall的计算。所以我们计算AP是对conf排序后,从上往下的计算,一直从top-1到top-N。通常情况下,从top-1到top-N伴随的是召

2020-05-26 23:13:51 163

原创 Evaluation中Percision和Recall的理解

1.评价指标在机器学习、深度学习快速发展的时代,模型和技巧层出不穷,那么就需要有一定的指标去量化地评价这些新的idea,是否work,优化的幅度有多大。2.混淆矩阵在分类任务中,通常可以用混淆矩阵比较直观地分析,各类别的预测准确度,模型在哪个类别的性能较低,以确定后续优化的方向。预测 \ 标签猫狗总计猫16117狗41923总计202040据混淆矩阵所示,共40张图待预测,其中20张猫、20张狗。可直观得知,模型对于狗的预测效果更好。此

2020-05-25 21:40:42 133

原创 Pytorch损失函数之BCELoss与BCEWithLogitsLoss

1.先说结论nn.BCEWithLogitsLoss等于nn.BCELoss+nn.Sigmoid。主要用于二分类问题,多标签分类问题。图为Pytorch Document对于BCEWithLogitsLoss的描述,这个损失函数结合了Sigmoid和BCELoss。2.公式分解BCEWithLogitsLoss假设有N个batch,每个batch预测n个标签,则Loss为:Loss={l1,...,lN}, ln=−[yn⋅log⁡(σ(xn))+(1−yn)⋅log⁡(1−

2020-05-24 10:05:37 841

原创 Pytorch损失函数之nn.NLLLoss与nn.CrossEntropyLoss

1. 先说结论nn.CrossEntropyLoss(简称CEL)等于nn.NLLLoss(简称NLL)+torch.log+F.softmax主要用于多分类问题的损失计算。图为Pytorch对于CEL的描述,这个criterion(指标)结合了nn.LogSoftmax()和nn.NLLLoss()nn.LogSoftmax()其实也就是torch.log+F.softmax2.CrossEntropyLoss(CEL)公式分解CEL(x,class)=−log(exp⁡(x[class])

2020-05-23 21:26:25 624

原创 非极大抑制nms(non-maximum suppression)的pytorch实现

nms作用于目标检测模型中,从众多感兴趣的区域中筛选出最优的结果。如R-CNN系列的目标检测,数千个ROI(region of interes感兴趣区域)经过模型的计算后,仍输出了不少的bounding box(后简称bbox)。实际上,图像中的目标寥寥无几,nms就是从bbox中提取每个目标最可信的结果。非极大值抑制,顾名思义,就是对置信度并非最大的bbox进行抑制(或进行排除),只留...

2020-04-04 12:05:13 330

原创 pytorch的cross_entropy实现

据pytorch的官方文档,torch.nn.functional里的cross_entropy是基于log_softmax和nll_loss实现的。没关系,通过最简单的torch原函数复现,可以较深理解当中的原理。import torchdef my_cross_entropy(input, target, reduction="mean"): # input.shape: torch...

2020-04-03 21:39:23 760

原创 LintCode-605 Sequence Reconstruction 序列重构

描述判断是否序列 org 能唯一地由 seqs重构得出.org是一个由从1到n的正整数排列而成的序列,1 ≤ n ≤ 10^4。重构表示组合成seqs的一个最短的父序列 (意思是,一个最短的序列使得所有 seqs里的序列都是它的子序列).判断是否有且仅有一个能从 seqs重构出来的序列,并且这个序列是org。样例例1:输入:org = [1,2,3], seqs = [[1,2...

2020-03-09 23:01:03 157

原创 pandas获取近两个月时间的index

为了通过近两个月的日期作为index,制作pandas库的DataFrame,因此我需要分别获取近两个月的天数,再用pandas.data_range(start, end, periods)生成近两个月的表头。有两种思路:1)获取两个月的起始与结束日期;2)获取两个月的起始日期和天数。天数其实就是基于起始和结束日期所得,因此用思路(1)更方便。据我所知,python有三个处理时间、日期...

2019-07-30 11:25:51 187

空空如也

为什么jpcap获取不了网卡设备的列表

发表于 2016-05-18 最后回复 2016-05-18

【求助】nodejs安装问题

发表于 2016-04-02 最后回复 2016-04-03

空空如也

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

TA关注的人 TA的粉丝

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