- 博客(20)
- 收藏
- 关注
转载 CTC算法详解
前言CTC全称Connectionist temporal classification,是一种常用在语音识别、文本识别等领域的算法,用来解决输入和输出序列长度不一、无法对齐的问题。在CRNN中,它实际上就是模型对应的损失函数。CRNN的模型结构如下图所示:其中的Feature sequence即为下文所说的x输入变量,Predicted sequence即为下文所说的y输出变量,此时x和y的长度是不一样的,所以CTC主要做的工作就是x和y的对齐。 再进行进一步叙述前,这里需要做几点说明。不管是在语
2020-10-30 19:14:27
4062
转载 一文看懂 Attention(本质原理+3大优点+5大类型)
Attention 正在被越来越广泛的得到应用。尤其是 BERT 火爆了之后。 Attention 到底有什么特别之处?他的原理和本质是什么?Attention都有哪些类型?本文将详细讲解Attention的方方面面。 Attention 的本质是什么 Attention(注意力)机制如果浅层的理解,跟他的名字非常匹配。他的核心逻辑就是「从关注全部到关注重点」。 Attention的本质 Attention 机制很像人类看图片的逻辑,当我们...
2020-10-24 14:51:10
3848
1
转载 序列模型简介——RNN, Bidirectional RNN, LSTM, GRU
既然我们已经有了前馈网络和CNN,为什么我们还需要序列模型呢?这些模型的问题在于,当给定一系列的数据时,它们表现的性能很差。序列数据的一个例子是音频的剪辑,其中包含一系列的人说过的话。另一个例子是英文句子,它包含一系列的单词。前馈网络和CNN采用一个固定长度作为输入,但是,当你看这些句子的时候,并非所有的句子都有相同的长度。你可以通过将所有的输入填充到一个固定的长度来解决这个问题。然而,它们的表现仍然比RNN要差,因为这些传统模型不了解给定输入的上下文环境。这就是序列模型和前馈模型的主要区别所在。对于一个句
2020-10-24 11:26:46
653
转载 CSDN怎么转载别人的博客
在参考“如何快速转载CSDN中的博客”后,由于自己不懂html以及markdown相关知识,所以花了一些时间来弄明白怎么转载博客,以下为转载CSDN博客步骤和一些知识小笔记。 参考博客原址:http://blog.csdn.net/bolu1234/article/details/51867099 转载CSDN博...
2020-10-24 09:35:05
109
转载 图解Transformer(完整版)
作者: 龙心尘 时间:2019年1月 出处:https://blog.csdn.net/longxinchen_ml/article/details/86533005 原作者:Jay Alammar 原链接:https://jalammar.github.io/illustrat...
2020-10-24 09:29:14
704
原创 Python import 失败
今天在使用caffe的python接口的时候出现了:ImportError: No module named google.protobuf.internal 的错误(源代码里写的是from google.protobuf.internal import **),然后就通过相对导入的方式,即将google包的路径加入到path下,还是那个错误,接下来通过绝对导入的方式就成功了,再后来通过导入pr
2018-01-06 15:41:44
4313
转载 caffe基础介绍
Caffe的全称应该是Convolutional Architecture for Fast Feature Embedding,它是一个清晰、高效的深度学习框架,它是开源的,核心语言是C++,它支持命令行、Python和Matlab接口,它既可以在CPU上运行也可以在GPU上运行。它的license是BSD 2-Clause。Deep Learning比较流行的一个原因,主要是因为它能够
2016-04-24 20:21:27
548
转载 ubuntu14.04下安装matlab2015b
CentOS x64上Matlab R2015b的镜像安装方法与卸载0. 原料(1). CentOS_x64系统 CentOS 2.6.32-573.el6.x86_64(2). Matlab R2015b_glnxa64.iso,可以从百度网盘下载到:链接: http://pan.baidu.com/s/1dD9F8RJ 密码: t8zi1. CentOS/linux 安装MAT
2016-04-11 19:07:47
3317
1
原创 caffe下的finetune训练
之前用了caffe训练了一些数据,之后打算用finetune训练,其实finetune的本质就是用你已经有的参数文件来初始化(就是之前训练好的caffemodel),而直接训练的初始化是按照网络定义指定的方式初始化(如高斯随机初始化)。这样的好处就是在训练的时候可以很快的收敛并达到很好的效果,所以这种情况下所需要的样本数量和迭代次数都可以不大,而且可以随意的设置你想要分类的数量,下面就具体介绍如何
2016-04-01 11:23:30
2175
转载 如何在Caffe中配置每一个层的结构
1. Vision Layers1.1 卷积层(Convolution)类型:CONVOLUTION例子layers { name: "conv1" type: CONVOLUTION bottom: "data" top: "conv1" blobs_lr: 1 # learning rate multiplier for the filters
2016-03-28 15:31:01
329
转载 caffe源码简单解析——Layer层
前言老实说,caffe中的layer层代码比较多,各种抽象看起来比较绕。官方关于Layer的教程写的很清楚,我根据这个文档,简单画了个图,再理解起来就方便了一些。layer.hpp和layer相关的头文件有:common_layers.hppdata_layers.hpplayer.hpploss_layers.hppneuron_layers.hpp
2016-03-22 15:57:27
459
转载 C++模板
C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 使用模板的目的就是能够让程序员编写与类型无关的代码。
2016-03-21 17:27:50
333
原创 Ubuntu 14.04安装Caffe
最近几天在装Caffe,主要问题在于安装显卡驱动上面,主要参考的博客有以下几个:点击打开链接点击打开链接点击打开链接点击打开链接点击打开链接如果想省事一点,一步到位的话,可以参考下面的博客,但是我在按照这篇博客安装的时候出现了一些问题,所以还是采用了先按照显卡驱动再安装cuda的方式安装,点击打开链接对于显卡驱动的安装参考的是下面的博客点
2016-03-12 14:28:20
457
原创 opencv视频格式转换出现色彩异常的处理
之前用opencv的cvtColor实现YUV到RGB的格式转换,但是转换后发生了色彩的异常,如下图,左边的是原始图片,右边是转换后的,这明显异常了,解决的办法是更改色彩转换空间,原代码如下: cv::cvtColor(mYUV,mRGB,CV_YUV2RGBA_YV12);更改后: cv::cvtColor(mYUV,mRGB,CV_YUV2RGB_YV12);所以也就是改变
2015-12-23 19:53:58
1772
原创 ffmpeg到opencv的格式转换
首先通过ffmpeg的sws_scale函数可以将原视频格式转换为YUV格式,保存在AVPicture结构体里,而AVPicture结构体里的data成员即储存着视频数据,下面通过一段代码就可以将YUV格式的视频转换成opencv的Mat 格式: 这一工作花费了我大半天的时间,以为这种格式转换很复杂,其实很简单:只要得到原视频的数据data,就可以用此data初始化任何库的图像容器,因为即
2015-12-23 17:42:34
1618
原创 Camshift的优点与缺点
之前做的一个项目:在手机上实现波波球、人脸的跟踪。采用的是opencv的Camshift跟踪算法,其结果是对人脸的跟踪效果较好,对小球的跟踪效果较差。通过分析之后发现根本原因是小球移动过快,而人脸的移动较慢,所以Camshift跟踪的上人脸但跟综不上小球,任何一个跟踪算法都有其跟踪速度的极限。还有另外的一个原因是:人脸在视频中占有的区域较大 ,所以背景较简单(相对于人脸),相对于小球在视频中占用的
2015-12-15 08:45:07
5378
1
原创 ubuntu下简单安装opencv的方法
Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV下载该脚本,进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限chmod +x *.sh然后安装最新版本 (当前为2.4.9)sudo ./opencv2_4_9.sh脚本会自动安装依赖项,下载安装包,
2015-10-21 22:25:52
667
原创 ++i与i++的区别
首先一点要说:++i的执行效率永远比i++要高,因为从函数的实现上i++的为:function () { tmp = i; i = tmp + 1; return tmp;} 而++i的为:function () { i = i + 1; return i;}i++是先取值然后再加一,而++i为先加一再取值,可以参考下面的例子
2015-10-13 22:10:06
592
原创 家庭物体识别调研
(一):http://pr.cs.cornell.edu/coactive/这是康奈尔实验室的一个项目,介绍如下:机器人对物体的移动不光取决于这个移动的路径是否是可行的(有效的,中间的过程无障碍等等),而且还要符合人的偏好,即机器人对物体的移动要和人移动物体那样的自然。如下图:红色线,蓝色线还有绿色线都是可行的移动路径,但是只有绿色线才是符合人的偏好的,所以他们设定了一个算法由
2015-10-13 15:29:22
691
原创 C++指针(一)
指针的本质: 指针本身的数据类型是32位整数的(所有的指针),他的值代表了他所指向的对象的地址。 指针的值的变化:假设指针a指向的数据类型为b,那么a++后a的值为a+sizeof(b),即a指向下一个类型为b的对象,加5则指向下面第五个类型为b的对象
2015-10-13 15:17:21
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人