深度学习
文章平均质量分 95
thy_2014
这个作者很懒,什么都没留下…
展开
-
Transformer的前世今生
引言Transformer在今天已经非常火了, 不管是NLP, 还是CV, 效果表现均很好. 那么这是Transformer到底是什么呢?要把Transformer的来龙去脉讲清楚, 首先得从attention开始, attention刚出来时, 直接把Google翻译送上了人生巅峰.在Transformer的出现之前的NLP相比CV来说并不那么活跃, 同时难度相对也比较大, 用得最多的也就是LSTM那一套, 不可能像CV那样模型可迁移性很强.而Transformer的出现后, 简直把N原创 2022-03-14 18:33:44 · 4870 阅读 · 0 评论 -
caffe源码阅读8-common_layer.hpp+各cpp
common_layer:ArgMaxLayer类;ConcatLayer类:EltwiseLayer类;FlattenLayer类;InnerProductLayer类;MVNLayer类;SilenceLayer类;SoftmaxLayer类,CuDNNSoftmaxLayer类;SplitLayer类;SliceLayer类。呃,貌似就晓得原创 2016-07-27 15:59:33 · 1841 阅读 · 0 评论 -
caffe源码阅读9-loss_layer.hpp+各cpp
loss_layer:AccuracyLayer类;LossLayer类;ContrastiveLossLayer类;EuclideanLossLayer类;HingeLossLayer类;InfogainLossLayer类;MultinomialLogisticLossLayer类;SigmoidCrossEntropyLossLayer类;Softma原创 2016-08-09 16:39:49 · 2883 阅读 · 2 评论 -
caffe中的normalization实现
首先得感谢某牛的:如何在caffe中增加Layer以及caffe中triplet loss layer的实现所以接下来就按照这个牛的介绍,逐个往里面添加东西就好了。构造设置函数这里就先忽略,直接进入前馈和反馈的实现。原理介绍可以参照上一篇normalization的实现原理。前馈的过程相对来说是比较简单的,代码如下:template void NormalizationLay原创 2016-09-23 16:50:22 · 5586 阅读 · 2 评论 -
normalization的实现原理
我是在FaceNet的论文中看到这个东西的。那么在其具体的实现原理是怎么样的呢?归一化,的方式有很多,在那篇论文中,相当于做的是希望:每个点都映射到一个球面上。也就是希望:为了达到这个目的,FaceNet是这样来做的:所以在实现的时候,这就是前馈的过程。那么反馈的时候,应该怎么做呢?主要就是集中在:y_i对x_i的偏导上面;为了参数完整的反馈原创 2016-09-23 11:44:18 · 2261 阅读 · 0 评论 -
caffe源码阅读3-blob.cpp
1 第一个方法:Reshape()template void Blob::Reshape(const int num, const int channels, const int height, const int width) { CHECK_GE(num, 0); CHECK_GE(channels, 0); CHECK_GE(height, 0); CHECK_原创 2016-07-18 16:06:54 · 1028 阅读 · 0 评论 -
使用caffe训练自己的数据
这里先介绍采用image-net来训练自己的数据:1 准备数据: 1.1 训练数据准备: 假设放在: ~/Data/train 1.2 确认数据准备: 假设放在: ~/Data/val 1.3 准备两个txt文档: 1.3.1 准备train.txt:原创 2016-06-08 17:40:13 · 2518 阅读 · 1 评论 -
深度解析DeepID2+之二进制化
在看这篇论文时,一开始对二进制化的理解始终感觉不够透彻。看了很多别的关于DeepID2+的博客,都没有看到详细的解释。因此写这个博客,专门解析这一个点。毕竟是个人的观点,如果大家有更好的解释,欢迎讨论。> 为什么能够通过上面的两个统计结果把浮点值向量转换成二进制值向量呢?> 这个统计的来源:> - 实验数据量: 46,594条人脸图片数据> - 假设人脸的特征表示向...原创 2018-05-23 10:24:21 · 786 阅读 · 0 评论 -
深度学习模型概要总结
基础模型我将用于分类的模型统称为基础模型,不仅仅可以用作分类,且可以做为其他任务的基础网络模型结构,用作预训练模型。 包括: AlexNet, VGG, GoogleNet系列, ResNet, DarkNet系列等 AlexNet 可以说深度学习火起来的开创之作 Group思想沿用至今 VGG 2014在ImageNet数据集上的亚军,那年冠军的是:GoogleNet,0....原创 2018-09-18 15:59:12 · 1214 阅读 · 0 评论 -
caffe源码阅读-插曲-math_function.cpp
来源:Caffe源码(一):math_functions 分析主要函数math_function 定义了caffe 中用到的一些矩阵操作和数值计算的一些函数,这里以float类型为例做简单的分析1. caffe_cpu_gemm 函数:template<>void caffe_cpu_gemmfloat>(const CBLAS_TRANSPOSE TransA,转载 2016-08-09 11:42:39 · 1941 阅读 · 0 评论 -
caffe源码阅读1-blob.hpp
其实网上已经有很多源码解读了,但我还是想自己看一遍。呃,不得不承认,我连C语言的代码都写得不好,C++也从来没有怎么学过。所以可能我看的方式和大家不太一样,当作自己的学习记录吧。水平有限,如果您看到了有说得不对的地方,请大方的指出来,相互交流学习,:)。应该基本可以公认的一点:基本每个类里面所有方法都是对自己的数据进行操作,而自己的数据通常也是私有类型的。鉴于以上这一点,所原创 2016-07-15 16:41:37 · 856 阅读 · 0 评论 -
caffe源码阅读5-各种layer概述
工厂模式:一个工厂可以生产N种产品,那么就需要N种磨具。因为从来没有玩过设计模式,而layer是采用工厂模式的,就临时看了一下,大概可以用上面的那一句话来描述吧。基本可以说caffe中的所有层都是继承了layer类的,那么在caffe中,一共有哪些层呢?可以在caffe.proto中看到: enum LayerType { // "NONE" layer type is原创 2016-07-19 11:36:35 · 2536 阅读 · 0 评论 -
安装caffe
安装caffe: 直接按照网址:http://www.linuxidc.com/Linux/2015-07/120449.htm 在执行:for req in $(cat requirements.txt); do pip install $req; done 的时候,出现了一些问题: (1) 在安装scikit-image的时候,总是出现没有'doc/build'原创 2016-06-08 17:35:11 · 2065 阅读 · 0 评论 -
ubuntu14.04安装CUDA+theano
声明: 该服务器系统是ubuntu14.04 64bit 安装显卡驱动:(来源:http://blog.csdn.net/xizero00/article/details/43227019/) 在线安装: 首先验证该服务器是否有nvida的显卡: lspci | grep -i nvidia 查看该服务原创 2016-06-08 17:37:40 · 1562 阅读 · 0 评论 -
使用caffe训练好的模型进行分类
最近在玩这个东西,按照网上的教程一步步的完成网络训练,但是却不知道该怎么使用。百度了一下还是没有确实连接的样子。可能这种问题实在太低级了哈。几乎可以说在官网上面有详细的说明。只是刚开始接触这个没有仔细看完吧。首先关于适用caffe image-net如何训练的官方教程在:http://caffe.berkeleyvision.org/gathered/examples/imagenet原创 2016-06-12 21:02:41 · 25046 阅读 · 7 评论 -
提取caffe前馈的中间结果+逐层可视化
参考官方网址:http://nbviewer.jupyter.org/github/BVLC/caffe/blob/master/examples/00-classification.ipynb当caffe训练出一个模型,想用这个模型进行分类参见:使用caffe训练好的模型进行分类本文接着介绍如何在将caffe前馈时的中间结果显示出来。以下提到的代码并不能单独使用,需要加上使用caff原创 2016-06-13 17:56:45 · 10902 阅读 · 2 评论 -
caffe源码阅读6-vision_layers.hpp+各cpp
vision_layers.hpp:ConvolutionLayer类,CuDNNConvolutionLayer类;Im2colLayer类;LRNLayer类;PoolingLayer类,CuDNNPoolingLayer类。在这个文件中一共包含了上面的4种层。因为在卷积的时候,caffe为了加速处理,使用了小技巧im2col,所以我们先来看看im2colLayer原创 2016-07-19 16:20:04 · 3556 阅读 · 0 评论 -
caffe源码阅读7-neuron_layers.hpp+各cpp
neuron_layers.hpp:NeuronLayer类AbsValLayer类BNLLLayer类DropoutLayer类PowerLayer类ReLULayer类,CuDNNReLULayer类SigmoidLayer类,CuDNNSigmoidLayer类TanHLayer类,CuDNNTanHLayer类ThresholdLayer类这原创 2016-07-25 16:04:00 · 2631 阅读 · 2 评论 -
caffe源码阅读2-syncedmem.hpp+.cpp
因为在看Blob.hpp的时候,有一个东西不好理解,里面最重要的两个东西data, diff是定义成: shared_ptr data_; shared_ptr diff_;shared_ptr也就是智能指针,等涉及到其方法的时候再做一点说明。原创 2016-07-18 10:32:35 · 1508 阅读 · 2 评论 -
caffe源码阅读4-layer.hpp
An interface for the units of computation which can be composed into a Net.Layer&s must implement a Forward function, in which they take their input (bottom) Blob&s (if any) and compute their outp原创 2016-07-18 18:13:46 · 2188 阅读 · 0 评论 -
speech recognition with deep recurrent neural networks-论文笔记
论文题目:speech recognition with deep recurrent neural networks作者:Alex Graves, Abdel-rahman Mohamed and Geoffrey Hinton论文中第2部分,介绍关于RNN的一些知识:对于一个给定的输入序列 x = (x1, ..., xT), 一个标准的RNN通过迭代下面一系列方程来计算隐原创 2016-01-11 16:16:31 · 2964 阅读 · 0 评论