自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 YOLO算法的原理与实现

码字不易,欢迎给个赞!欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)目录目录前言滑动窗口与CNN设计理念网络设计网络训练网络预测算法性能分析算法的TF实现小结参考文献前言当我们谈起计算机视觉时,首先想到的就是图像分类,没错,图像分类是计算机视觉最基本的任务之一,但是在图像分类的基础上,还有更复杂和

2018-01-30 22:30:48 138845 40

翻译 递归神经网络教程(1)-RNN介绍

递归神经网络教程(1)-RNN介绍Source: http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/递归神经网络(RNNs)作为一种流行的模型,已经在NLP问题上显示巨大的应用前景。尽管最近很流行,但是对RNNs原理以及如何实施进行全面解释的资源却很少。因此就有了这

2017-01-16 22:27:15 7131

翻译 生成对抗网络的tensorflow实现

生成对抗网络的tensorflow实现原文地址:http://blog.evjang.com/2016/06/generative-adversarial-nets-in.html 这是关于使用tensorflow来实现Goodfellow的生成对抗网络论文的教程。对抗网络是一个可以使用大约80行的python代码就可以实现的一个有趣的小深度学习练习,这将使你进入深度学习的一个活跃领域:生成式模型

2017-01-08 15:51:26 16832 3

原创 PVT:可用于密集任务backbone的金字塔视觉transformer

自从ViT之后,关于vision transformer的研究呈井喷式爆发,从思路上分主要沿着两大个方向,一是提升ViT在图像分类的效果;二就是将ViT应用在其它图像任务中,比如分割和检测任务上,这里介绍的**PVT(Pyramid Vision Transformer)**就属于后者。PVT相比ViT引入了和CNN类似的金字塔结构,使得PVT像CNN那样作为backbone应用在dense prediction任务(分割和检测等)。CNN结构常用的是一种金字塔架构,如上图所示,CNN网络一般可以划分为

2021-04-05 18:25:17 1349 1

原创 CV中的无监督学习方法:MoCo

无论是CV还是NLP领域,学习一个好的特征或者表达至关重要。对于NLP,通过无监督方法学习特征已经取得好大的成功,但是在CV领域,目前主流的方案还是采用ImageNet上的有监督pretrain模型。这是因为NLP任务的输入如words属于一个离散空间,而CV任务的输入图片属于一个高维连续空间。不过,目前的一些CV领域的无监督学习方法也取得了一些较大的进展,这里介绍的MoCo就是一种比较流行的无监督学习方法。对比学习无监督学习方法主要用来学习好的特征以用于特定的下游任务,这类方法往往需要建立一个代理任

2021-03-20 09:13:50 1872

原创 未来的“经典”之作ViT:transformer is all you need

文章目录Patch EmbeddingPosition EmbeddingClass TokenTransformer EncoderViT模型效果参考从2020年,transformer开始在CV领域大放异彩:图像分类(ViT, DeiT),目标检测(DETR,Deformable DETR),语义分割(SETR,MedT),图像生成(GANsformer)等。而从深度学习暴发以来,CNN一直是CV领域的主流模型,而且取得了很好的效果,相比之下transformer却独霸NLP领域,transforme

2021-03-20 09:04:50 4077 2

原创 Focal Loss和它背后的男人RetinaNet

文章目录Focal LossRetinaNetBackboneAnchordetection模块模型初始化模型训练与预测与其他模型的对比参考说起Focal Loss,相信做CV的都不会陌生,当面临正负样本不平衡时可能第一个想到的就是用Focal Loss试试。但是怕是很多人会不知道这篇论文中所提出的one stage目标检测模型RetinaNet,这也难怪,就连论文里面也说了RetinaNet模...

2020-04-06 21:12:56 1037

原创 ShuffleNetV2:轻量级CNN网络中的桂冠

文章目录设计理念网络结构TensorFlow上的实现参考近来,深度CNN网络如ResNet和DenseNet,已经极大地提高了图像分类的准确度。但是除了准确度外,计算复杂度也是CNN网络要考虑的重要指标,过复杂的网络可能速度很慢,一些特定场景如无人车领域需要低延迟。另外移动端设备也需要既准确又快的小模型。为了满足这些需求,一些轻量级的CNN网络如MobileNet和ShuffleNet被提出,...

2020-04-05 14:47:32 774 1

原创 轻量级CNN网络之MobileNetv2

文章目录Depthwise Separable ConvolutionLinear BottlenecksInverted Residuals网络结构TensorFlow上的实现小结参考MobileNet网络是Google提出主要应用在移动端的轻量级CNN网络,之前的文章(CNN模型之MobileNet)已经对MobileNetv1版本进行了详细的介绍。目前,Google已经公开了Mobile...

2020-04-05 14:39:29 1941

原创 最后一届ImageNet冠军模型:SENet

文章目录前言主体思路Squeeze-and-Excitation (SE) 模块Squeeze操作Excitation操作SE模块在Inception和ResNet上的应用模型效果SE模块的实现小结参考文献前言在深度学习领域,CNN分类网络的发展对其它计算机视觉任务如目标检测和语义分割都起到至关重要的作用,因为检测和分割模型通常是构建在CNN分类网络(称为backbone)之上。提到CNN分...

2020-04-05 13:46:24 2131

原创 人人必须要知道的语义分割模型:DeepLabv3+

文章目录整体架构空洞卷积空间金字塔池化(ASPP)Decoder改进的Xception模型小结参考文献图像分割是计算机视觉中除了分类和检测外的另一项基本任务,它意味着要将图片根据内容分割成不同的块。相比图像分类和检测,分割是一项更精细的工作,因为需要对每个像素点分类,如下图的街景分割,由于对每个像素点都分类,物体的轮廓是精准勾勒的,而不是像检测那样给出边界框。图1 街景分割图像分割可以分...

2020-04-05 13:40:45 2424 1

原创 TensorFlow 2.0简明指南

文章目录Eager执行AutoGraph性能优化:tf.function模型构建:tf.keras模型训练结语参考文献TensorFlow虽是深度学习领域最广泛使用的框架,但是对比PyTorch这一动态图框架,采用静态图(Graph模式)的TensorFlow确实是难用。好在最近TensorFlow支持了eager模式,对标PyTorch的动态执行机制。更进一步地,Google在最近推出了全新...

2020-04-05 13:29:48 619

原创 2020年,我终于决定入门GCN

文章目录图的概念学习新特征图卷积GCN的PyTorch实现半监督分类实例结语参考我们面对的很多数据其实是图(graph),图在生活中无处不在,如社交网络,知识图谱,蛋白质结构等。在2020年这个寒冬,窝在家里的小编终于打算入门GNN(Graph Neural Networks)中的分支:GCN(Graph Convolutional Networks)。图的概念对于图,我们习惯上用G=(V...

2020-04-05 13:26:25 1428

原创 PyTorch分布式训练简明教程

文章目录DistributedDataParallel内部机制实例讲解普通单卡训练分布式训练混合精度训练(采用apex)题外话参考神经网络训练加速的最简单方法是使用GPU,对弈神经网络中常规操作(矩阵乘法和加法)GPU运算速度要倍超于CPU。随着模型或数据集越来越大,一个GPU很快就会变得不足。例如,BERT和GPT-2等大型语言模型是在数百个GPU上训练的。对于多GPU训练,需要一种在不同GP...

2020-04-05 13:15:26 10075 5

原创 VoVNet:实时目标检测的新backbone网络

文章目录高效网络设计要素OSA(One-Shot Aggregation)模块VoVNetVoVNet在检测模型上的效果VoVNetV2VoVNetV2的PyTorch实现参考目前基于深度学习的目标检测模型无不依赖CNN分类网络来作为特征提取器,如SSD采用VGG,YOLO采用DarkNet,Faster R-CNN采用ResNet,我们一般称这些网络为目标检测模型的backbone。ResNe...

2020-04-04 22:10:37 15073 6

原创 DenseNet:比ResNet更优的CNN模型

码字不易,欢迎给个赞!欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)文章目录前言设计理念网络结构实验结果及讨论使用Pytorch实现DenseNet小结参考文献前言在计算机视觉领域,卷积神经网络(CNN)已经成为最主流的方法,比如最近的GoogLenet,VGG-19,Incepetion等模型。CNN史上的一个里程碑事件是ResNet模型的出现,Re...

2019-01-01 21:14:50 19005 4

原创 目标检测|YOLOv2原理与实现(附YOLOv3)

码字不易,欢迎给个赞! 欢迎交流与转载,文章会同步发布在公众号:机器学习算法工程师(Jeemy110)欢迎关注机器学习算法工程师专栏和公众号前言YOLOv2的改进策略Batch NormalizationHigh Resolution ClassifierConvolutional With Anchor BoxesDimension ClustersNew Netw...

2018-06-12 15:56:17 6334 3

翻译 你知道如何计算CNN感受野吗?这里有一份详细指南

码字不易,欢迎给个赞! 欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)固定大小的CNN特征图可视化感受野计算公式附文小结本文翻译自A guide to receptive field arithmetic for Convolutional Neural Networks,原作者保留版权。感受野(receptive field,...

2018-06-11 09:03:28 5744 1

原创 目标检测算法之SSD

码字不易,欢迎给个赞!欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)目录目录前言设计理念网络结构训练过程预测过程性能评估TensorFlow上的实现小结参考文献前言目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型:(1)two-stage方法,如R-CNN系算法,其主要思路是先通过启...

2018-04-06 15:17:33 101183 40

原创 实例介绍TensorFlow的输入流水线

目录目录前言制作TFRecords文件读取TFRecords文件tf.data简介创建Dataset创建IteratorOne-shot IteratorInitializable IteratorReinitializable IteratorFeedable IteratorMNIST完整实例小结参考前言在训练模型时,我们首先要处理的就...

2018-03-23 21:09:24 1298 1

原创 综述|基于深度学习的目标检测(一)

码字不易,欢迎给个赞!欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)目录目录概述数据集和性能指标数据集性能指标R-CNNSPP-netFast R-CNNFaster R-CNN参考文章概述图像分类,检测及分割是计算机视觉领域的三大任务。图像分类模型(详情见这里)是将图像划分为单个类别,通常对...

2018-03-18 13:45:59 65002 6

原创 CUDA编程入门极简教程

码字不易,欢迎给个赞!欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)目录目录前言CUDA编程模型基础向量加法实例矩阵乘法实例小结参考资料前言2006年,NVIDIA公司发布了CUDA,CUDA是建立在NVIDIA的CPUs上的一个通用并行计算平台和编程模型,基于CUDA编程可以利用GPUs的并行计算引擎...

2018-03-18 13:29:44 94239 27

原创 动态规划

动态规划对很多问题,动态规划(Dynamic Programming)是个强有力的武器,因为大部分情况下它可以大大降低算法的时间复杂度。动态规划的一个重要的应用是在满足最优性原理的优化问题,所谓最优性原理指的是问题的一个最优解总是包含子问题的最优解,但这并不是说所有子问题的最优解都对最终解做贡献。动态规划与分治法(Divide-and-Conquer)策略比较类似,都是将一个问题分解成子问题,但是分

2017-04-19 19:12:37 1229

原创 排序算法

排序算法排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排序。每个排序算法的时间复杂度是不同的,但是最优的时间复杂度是O(NlogN)。有些排序算法是原址排序(即不需要额外空间),也有一些是非原址排序,这也是需要注意的特点。同样地,还要注意排序算法是否是稳定排序,这有时候很重要。这篇文章简单地介绍各个排序算法的思想,然后使用C++实现各个排序算法

2017-04-16 19:11:56 762

原创 C++ lambda表达式与函数对象

C++ lambda表达式与函数对象lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。但是从本质上来将,lambda表达式只是一种语法糖,因为所有其能完成的工作都可以用其它稍微复杂的代码来实现。但是它简便的语法却给C++带来了深远的影响。如果从广义上说,lamdba表达式产生的是函数对象。在类中,可以重载函

2017-04-15 11:35:34 3373 1

原创 C++右值引用

C++右值引用右值引用应该是C++11引入的一个非常重要的技术,因为它是移动语义(Move semantics)与完美转发(Perfect forwarding)的基石:移动语义:将内存的所有权从一个对象转移到另外一个对象,高效的移动用来替换效率低下的复制,对象的移动语义需要实现移动构造函数(move constructor)和移动赋值运算符(move asssignment operator)。

2017-04-12 13:13:17 850

原创 C++类型推断

C++类型推断对于静态语言来说,你一般要明确告诉编译器变量或者表达式的类型。但是庆幸地是,现在C++已经引入了自动类型推断:编译器可以自动推断出类型。在C++11之前,类型推断只是用在模板上。而C++11通过引入两个关键字auto和decltype扩展了类型推断的应用。C++14更进一步扩展了auto和decltype的应用范围。明显地,类型推断可以减少很多无必要的工作。但是高兴之余,你仍然有可能会

2017-04-09 21:34:29 1240

原创 C++虚函数

C++虚函数C++虚函数是多态性实现的重要方式,当某个虚函数通过指针或者引用调用时,编译器产生的代码直到运行时才能确定到底调用哪个版本的函数。被调用的函数是与绑定到指针或者引用上的对象的动态类型相匹配的那个。因此,借助虚函数,我们可以实现多态性。这也是OOP的核心思想之一。引言考虑下面一个继承的例子,Dog类与Cat类都继承自Animal类,但是它们拥有不同的speak()方法:class Anim

2017-04-08 19:11:02 496

原创 C++智能指针

C++智能指针内存管理是C++中的一个常见的错误和bug来源。在大部分情形中,这些bug来自动态分配内存和指针的使用:当多次释放动态分配的内存时,可能会导致内存损坏或者致命的运行时错误;当忘记释放动态分配的内存时,会导致内存泄露。所以,我们需要智能指针来帮助我们管理动态分配的内存。其来源于一个事实:栈比堆要安全的多,因为栈上的变量离开作用域后,会自动销毁并清理。

2017-04-05 11:29:12 840

原创 C++可变参数模板

可变参数模板普通模板只可以采取固定数量的模板参数。然而,有时候我们希望模板可以接收任意数量的模板参数,这个时候可以采用可变参数模板。对于可变参数模板,其将包含至少一个模板参数包,模板参数包是可以接收0个或者多个参数的模板参数。相应地,存在函数参数包,意味着这个函数参数可以接收任意数量的参数。使用规则一个可变参数类模板定义如下:template<typename ... Types>class Tu

2017-04-04 16:22:32 10044

原创 SQLServer事务的隔离级别

传统隔离级别隔离级别确定了并发用户读取或者写入的行为。读取者可以是任何选择数据的语句,默认情况下使用共享锁。写入者是任何对表进行修改的语句,并且需要一个排它锁。 SQL Server支持4个基于悲观并发控制(锁定)的传统隔离级别:READ UNCOMMITTED,READ COMMITTED, REPEATABLE READ与SERIALIZABLE。对于这4个隔离级别,隔离级别越高,读取者请求的

2016-09-12 09:57:23 2730

翻译 使用逻辑回归对MNIST数字分类

使用逻辑回归对MNIST数字分类注意:这部分需要读者熟悉Theano的以下概念:shared variables,basic arithmetic ops,T.grad,floatX。如果准备使用GPU运行代码,你需要阅读Theano的GPU教程。 这部分的源代码可以从这里下载。在这部分中,我们将展示如何使用Theano建立最基本的分类器:逻辑回归(logistic regression)。我们从

2016-07-22 11:03:56 4263 2

原创 SQL Server中的窗口计算

SQL Server中的窗口函数 - CareySon - 博客园 http://www.cnblogs.com/CareySon/p/3411176.html1. 窗口计算简介为了支持窗口计算,SQL server提供了OVER子句和窗口函数。窗口计算的两个主要应用就是对每组内的数据进行排序和聚合计算。因此,开窗函数也分为排名开窗函数与聚合开窗函数。排名开窗函数如ROW_NUMBER

2016-01-25 11:03:43 938

原创 SELECT查询的逻辑处理

select 语句的语法如下:各个子句的执行顺序如下:FROMONJOINWHEREGROUP BYWITH CUBE or WITH ROLLUPHAVINGSELECTDISTINCTORDER BYTOP详细的处理逻辑如下:

2016-01-24 11:39:14 1141

原创 游标的使用

游标主要用于存储过程和触发器中:1.声明变量,用于包含游标返回的数据2. 使用游标声明语句(declare cursor) 将游标与select 语句关联;3. 使用open语句执行select语句并填充游标;4. 使用fetch into 语句提取单个行,并将其保存到指定变量中;5. 使用close 语句关闭游标(此时重新open仍然可以使用),或者使用deallocate

2016-01-12 13:27:24 378

自然语言处理最新笔记和教程

自然语言处理最新笔记和教程

2018-06-11

空空如也

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

TA关注的人

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