Deep learning
文章平均质量分 84
GavinZhou_xd
一名小小程序员的努力,因为热爱,所以坚持
展开
-
TF-Slim ImageNet数据集制作
TF-Slim(tensorflow.contrib.slim)是TensorFlow的高层API,类似layers,主要可以用来快速的设计、评估模型,有着类似keras般的语法 Tensorflow models包含一个Slim的图像分类库,可以微调、训练、使用预训练模型来对图像进行分类,包含的主要CNN网络有: Inception V1/2/3/4 Inception-Re...原创 2018-05-08 17:26:52 · 5017 阅读 · 8 评论 -
深度学习中的优化算法
一般来说,深度学习通过仔细的设计Objective function和constraints来确保优化问题是convex的,从而避开一下通用优化算法的难题。 优化(optimization)说的有点大,因为存在一阶优化(first-order)和二阶(second-order)优化算法。我们常用的优化算法,比如Adam,SGD等其实都是一阶优化算法(基于gradient),这篇写的也是一阶优化算法原创 2017-04-05 18:05:36 · 2864 阅读 · 0 评论 -
fine-tuning的二三事
日常的应用中,我们会很经常遇到一个问题: 如何应用强大的model(比如ResNet)去训练我们自己的数据? 考虑到这样的几个事实: 通常我们自己的数据集都不会大(<1w) 从头开始训练耗时 解决方法就是fine-tuning.方式参考CS231的资料,有三种方式 ConvNet as fixed featu原创 2017-05-22 20:18:53 · 5325 阅读 · 0 评论 -
ubuntu14.04+caffe2+OpenCV3.0安装的一些问题
好久不用Caffe了,今天要转换个caffemodel到tensorflow,所以需要caffe的环境,原先预备pull个Docker镜像,最后发现死活下载不下来,只好自己重新装Caffe了,果然每次都有坑,特此记录步骤不多说了,参考宇宙骑士欧老师的,博客在此 Caffe安装博客 不过说明下,最新的caffe和tensorflow(>=1.0)都是要CUDA8以上的,低版本的大家不要装了问题编译原创 2017-05-03 16:25:33 · 3246 阅读 · 0 评论 -
验证码破解之一:定长文本验证码
之前写过一篇验证码的破解,地址在这,其实效果不好,有很多朋友来问,其实我已经说了只是个demo;既然如此,就写下文本验证码的破解;本次的主题是定长的,就是验证码的长度是个定值,也是大家在上网过程中遇到的最多的验证码。其实挺简单的,网上也有很多的总结性的文章,基本验证码破解就两个思路(deep learning): 定长类:卷积 + 多个Softmax 不定长类: LS原创 2017-04-03 21:36:30 · 3217 阅读 · 0 评论 -
LSTM入门
之前一直在搞CNN,现在开始学习RNN,先上手一篇LSTM的入门吧 原文: Understanding LSTM Networks 中文译文地址: 理解长短期记忆网络摘要:作者早前提到了人们使用RNNs取得的显著成效,基本上这些都是使用了LSTMs。对于大多数任务,它们真的可以达到更好的效果!写了一堆方程式,LSTMs看起来很吓人。希望通过这篇文章中一步一步的剖析,能更好理解它们。原创 2017-03-31 15:12:24 · 2369 阅读 · 0 评论 -
一个验证码破解的完整演示
这篇博客主要讲如何去破解一个验证码,for demo我会使用一个完整的工程来做,从原始图片到最终的识别结果,但是破解大部分的验证码其实是个很费力的活,对技术要求反而不是特别高,为什么这么说呢? 主要原因有以下几点: 你需要验证码的正确答案作为监督,所以基本是人来识别然后写答案 CNN之类的DL方法对验证码这种简单的图像识别能力非常高 所以,破解的话你需原创 2016-07-30 11:24:08 · 30758 阅读 · 0 评论 -
What's the difference of name scope and a variable scope in tensorflow?
Let’s begin by a short introduction to variable sharing. It is a mechanism in TensorFlow that allows for sharing variables accessed in different parts of the code without passing references to the vari原创 2016-12-03 17:31:56 · 1828 阅读 · 0 评论 -
ResNet && DenseNet(实践篇)
上篇博客说了ResNet和DenseNet的原理,这次说说具体实现ResNetdef basic_block(input, in_features, out_features, stride, is_training, keep_prob): """Residual block""" if stride == 1: shortcut = input else: sho原创 2016-12-05 10:06:28 · 5535 阅读 · 1 评论 -
Fully Convolutional Networks for Semantic Segmentation
主要思想传统的做图像分割的方式大概是这样的: 以某个像素点中心取一个区域,取图像块的特征做样本训练分类器,分类结果作为此像素点的结果 这样做确定很明显,比如: 如何确定图像块的大小 从小的图像块(patch)中获得的上下文信息(contex)较少,且极端耗时 FCN的做法是训练一个end-to-end的网络,做pixel-wise的原创 2016-08-05 16:50:27 · 9621 阅读 · 1 评论 -
Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
转载自: http://www.jianshu.com/p/329d2c0cfca9Google Research的Inception模型和Microsoft Research的Residual Net模型两大图像识别杀器结合效果如何?在这篇2月23日公布在arxiv上的文章“Inception-v4, Inception-ResNet and the Impact of Residual Conn转载 2016-11-20 17:23:59 · 2891 阅读 · 0 评论 -
再看CNN中的卷积
这两天在看CS231n的课程笔记,结合着原版英文和知乎上中文版翻译在看,确实Andrej Karpathy写的很棒,很多都是些实践经验不仅仅是理论知识. 我结合着自己的理解和Karpathy的介绍,重新看确实又收获了不少,以前觉得不明白的地方现在也清晰了,所以重新写这个重看篇,仅供参考CNN的组成 convolution layer pooling layer原创 2017-05-25 11:03:24 · 7391 阅读 · 0 评论 -
使用Faster-Rcnn进行目标检测
论文笔记:Faster-Rcnn进行目标检测Object Detection发展介绍Faster rcnn是用来解决计算机视觉(CV)领域中Object Detection的问题的。经典的解决方案是使用: SS(selective search)产生proposal,之后使用像SVM之类的classifier进行分类,得到所有可能的目标. 使用SS的一个重要的弊端就是:特别耗时,而且使用像传统的S原创 2016-07-22 17:02:30 · 41764 阅读 · 5 评论 -
图像标注工具
我们在做自己的图像数据集的时候,可能会涉及到图像标注(image annotation)问题. 常见的主要就是两种: Object Detection Semantic Segementation 通俗点说就是对图像进行打框和图像区域的分割. 下面是自己从网上找的做图像标注的一些工具集资料,供参考.主要参考wiki的一份工具清单和Q原创 2018-01-21 17:59:51 · 5103 阅读 · 2 评论 -
使用RNN进行图像分类
使用CNN进行图像分类是很稀疏平常的,其实使用RNN也是可以的. 这篇介绍的就是使用RNN(LSTM/GRU)进行mnist的分类,对RNN不太了解的可以看看下面的材料: 1. [LSTM的介绍] http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 2. [The Unreasonable Effectiveness of RNN原创 2017-12-11 23:02:08 · 24242 阅读 · 5 评论 -
Tensorflow实现word2vec
大名鼎鼎的word2vec,相关原理就不讲了,已经有很多篇优秀的博客分析这个了. 如果要看背后的数学原理的话,可以看看这个: https://wenku.baidu.com/view/042a0019767f5acfa1c7cd96.html 一个话总结下word2vec就是使用一个一层的神经网络去学习分布式词向量的方式,相关链接: [Google原版word2vec主页] https://c原创 2017-12-07 11:51:14 · 3859 阅读 · 0 评论 -
使用Tensorflow进行时序预测(TFTS)
时序预测是一个经典的话题,应用面也很广; 结合LSTM来做也是一个效果比较好的方式. 这次准备使用TF来进行时序预测,计划写两篇: 1. 使用Tensorflow Time Series模块 2. 使用底层点的LSTM Cell这就是第一篇啦,Time Series Prediction via TFTS. 来源于此: TFTS介绍,略有加工整理,侵删!TFTSTensorflow Time原创 2017-11-28 21:16:51 · 7104 阅读 · 2 评论 -
win10下配置Tensorflow1.4
今天碰巧帮人配了一台win10 + CUDA8.0 + CUDNN V6.1 + tf 1.4,特此记录配置要求window版本的tf是用不成python 2.X,至少是python 3.5,看官方要求吧,https://www.tensorflow.org/install/install_windows,如下所示:所以总结下就是:Python 2.5 or laterCUDA 8.0 or l原创 2017-11-08 22:12:51 · 8175 阅读 · 9 评论 -
转换Cifar10数据集
Cifar10数据集不讲了吧,入门必备,下载地址: https://www.cs.toronto.edu/~kriz/cifar.html 官方提供三种形式的下载:可以看出是不提供图片形式的下载的,需要进行数据转换,虽然可以直接读成ndarray,但是对于初学者可能读图更直观点自己写了个转换程序(将bytes形式的文件转换为图片并分类存储):def recover_cifar10(cifar10_原创 2017-11-06 15:49:37 · 2502 阅读 · 0 评论 -
NLP常用数据集
原文地址: https://machinelearningmastery.com/datasets-natural-language-processing/针对NLP中常见的7个问题进行分类,归纳常用数据集,mark之 Text Classification Language Modeling Image Captioning Machine Tran翻译 2017-10-19 16:25:48 · 10303 阅读 · 1 评论 -
深度学习优化器详解:梯度更新规则+缺点+如何选择
转载自:https://mp.weixin.qq.com/s/RZc1PUgZs1BqRPeyBmTELA转载 2017-07-18 14:31:06 · 2260 阅读 · 0 评论 -
深度学习论文资源(截至2016年)
最近看到一篇不错的关于DL的论文索引(截止到2016年),内容质量还是很高的,都是些很经典的论文,值得一看,特此转载. 原文地址: http://www.dlworld.cn/YeJieDongTai/4385.html从全局到枝干、从经典到前沿、从理论到应用、还有最新的研究…,所有你不需要的需要的,现在不需要的未来需要的,你不需要的周边小伙伴需要的…反正全都在这了。拿走不谢,就在AI科技大本营转载 2017-07-29 17:42:36 · 2989 阅读 · 0 评论 -
WHEN NOT TO USE DEEP LEARNING
转载自: http://hyperparameter.space/blog/when-not-to-use-deep-learning/I know it’s a weird way to start a blog with a negative, but there was a wave of discussion in the last few days that I think serves转载 2017-07-13 22:05:01 · 1248 阅读 · 0 评论 -
ResNet && DenseNet(原理篇)
这篇博客讲现在很流行的两种网络模型,ResNet和DenseNet,其实可以把DenseNet看做是ResNet的特例 文章地址: [1]Deep Residual Learning for Image Recognition,CVPR2015 [2]Densely Connected Convolutional Networks,CVPR2016本篇博客不讲论文的内容,只讲主要思想和我自己的原创 2016-12-03 16:29:45 · 30040 阅读 · 4 评论 -
Image Style Transfer Using Convolutional Neural Network(理论篇)
好久没有写博客了,也是惭愧,最近事情比较多,现在抽空写一篇吧今天这篇是关于neual art的,也就是style transfer算法; 文章来源: A Neural Algorithm of Artistic Style, CVPR2015 Image Style Transfer Using Convolutional Neural Networks, CVPR2016前一段时间有一个比较原创 2016-11-12 23:01:51 · 11386 阅读 · 5 评论 -
NeuralTalk2---自动产生图片的语句描述
最近被逼看了点自然语言处理(NLP)的论文,好吧我看不懂,本来我就不是搞这个方向的,说的我迷迷糊糊的,哎,隔行如隔山啊不过在过程中倒也是收获到了一些东西,比如今天的这篇博客,怎样自动的去产生图片的语句描述???就是: 我给你张图,你给我自动生成描述这张图片的文字具体如下:这个理论说起来实际很高端,涉及到神经网络,自然语言处理等方方面面的知识,推荐几篇论文有兴趣的可以看看: Deep原创 2016-04-01 14:16:25 · 9376 阅读 · 3 评论 -
CNN中各层图像大小的计算
CNN刚刚入门,一直不是很明白通过卷积或者pooling之后图像的大小是多少,看了几天之后终于搞清楚了,在这里就结合keras来说说各层图像大小是怎么计算的,给刚入门的一点启发吧!keras中的convolution和poolingkeras我们以0.2的版本来介绍,0.1对的版本有不一样的地方。0.1的版本的border_mode可以有三种:valid,same,full,0.2版本中的只有两种少原创 2016-01-29 21:32:19 · 20792 阅读 · 6 评论 -
Theano的一个关于signal,signal/conv,signal/downsample的错误
安装了Theano和keras之后,准备走段代码出错了,大概意思是: “Theano is missing signal”,就是说signal模块找不到,我跑到 源代码目录下看是有这个的: 明明有的啊,流泪!!! 只好googl了一下,发现也有人跟我差不多的问题: Best Answer: As you can see importing theano also gets us th原创 2016-01-28 22:20:20 · 6391 阅读 · 3 评论 -
Caffe中均值文件的问题
关于均值文件(1) 在Caffe中作classification时经常需要使用均值文件,但是caffe自己提供的脚本只能将图像数据转换为 binaryproto类似的形式 (2) 我们在使用python接口时需要将npy形式的均值文件导入进来,而非binaryproto这样的均值文件均值文件形式之间的转换google类以下发现可以使用如下的代码进行转换: 代码是我自己实际使用的,有注释impo原创 2015-12-20 22:06:55 · 11708 阅读 · 11 评论 -
【Google 年度顶级论文】机器学习系统,隐藏多少技术债?
原文见:这里写链接内容 1. 介绍随着机器学习(ML)社群持续积累了几年对于活跃系统(live systems)的经验,一种让人不舒服的趋势广泛地浮出水面:研发和部署机器学习系统相对来说是既快速又便宜的,但维护它们却很困难,并且成本昂贵。 这种对立可以用“技术债”的框架来理解。1992年WardCunningham引入了这个比喻,用来帮助解释在软件工程领域里因为进展快速而带来的长期成本。就像欠下翻译 2015-12-11 10:45:54 · 1944 阅读 · 0 评论 -
SVM分类---识别舰船和飞机
SVM介绍SVM网上已经有说的非常好的,有浅显易懂的也有从最基础的公式上一步步推导的,参考大神July的这篇关于SVM的博客,希望深入了解的可以看看这篇讲的非常好。一、线性分类器: 首先给出一个非常非常简单的分类问题(线性可分),我们要用一条直线,将下图中黑色的点和白色的点分开,很显然,图上的这条直线就是我们要求的直线之一(可以有无数条这样的直线) 假如说,我们令黑色的点 = -原创 2015-11-16 23:32:58 · 3661 阅读 · 5 评论 -
揭秘 TensorFlow:Google 开源到底开的是什么?
这两天发现朋友圈被Google开源深度学习系统TensorFlow的新闻刷屏了。这当然是一个很好的消息,尤其对我们这种用机器学习来解决实际问题的工程师来说更是如此。但同时很多人并不清楚听起来神乎其神的“TensorFlow”到底是什么,有什么意义。我是人工智能科技公司“出门问问”的工程师,对人工智能“深度学习”理论有一定的了解,在这里就为大家“破雾”,聊一聊Google的开源系统TensorFlow转载 2015-11-16 23:42:19 · 1382 阅读 · 0 评论 -
安装Theano和keras
最近在学习deep learning,准备搭建Keras环境,但是keras依赖Theano,安装虽然不是特别复杂但是也是走了一些弯路,在此写出记录一下Theano简介主页:http://deeplearning.net/software/theano/Github网址:https://github.com/Theano/TheanoTheano不仅是这篇文章中将要讨论的其他框架的核心库,于其自身而原创 2015-11-20 16:08:51 · 8341 阅读 · 4 评论 -
KNN(k-NearestNeighbor)识别minist数据集
KNN算法介绍KNN(K Nearest Neighbors,K近邻 )算法是机器学习所有算法中理论最简单,最好理解的。KNN是一种基于实例的学习,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>=1)个距离最近的邻居进行分类判断(投票法)或者回归。如果K=1,那么新数据被简单分配给其近邻的类。KNN算法算是监督学习还是无监督学习呢?首先来看一下监督学习和无监督学习的定义。对于监督学习,数原创 2015-10-24 11:55:57 · 7919 阅读 · 0 评论 -
Ubuntu14.04下安装Caffe
最近几天看了点深度学习(Deep Learning)的东西,也想搞个来玩玩,从Theano、Torch7和Caffe种选择了Caffe,主要是安装比较简单而且网上教程很多。 贴一段Caffe的介绍: Caffe一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作。 Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB原创 2015-08-08 22:39:59 · 3342 阅读 · 0 评论 -
caffe introduction & classification
caffe 介绍caffe是Berkely的深度学习框架,在流行的deep learning framework里属于使用人数很多的,github上的统计显示经常是使用量第一的 这里是官方地址,上面有介绍和安装的指南caffe的优点 Expression: models + optimizations are plaintext schemas, not code. Speed: f原创 2016-05-25 16:02:45 · 1343 阅读 · 0 评论 -
使用Faster-Rcnn进行目标检测(实践篇)
原理上一篇文章,已经说过了,大家可以参考一下,Faster-Rcnn进行目标检测(原理篇)实验我使用的代码是python版本的Faster Rcnn,官方也有Matlab版本的,链接如下:py-faster-rcnn(python)faster-rcnn(matlab)环境配置按照官方的README进行配置就好,不过在这之前大家还是看下硬件要求吧 For training s原创 2016-07-28 10:42:15 · 79772 阅读 · 92 评论 -
Tensorflow的安装
虽然官网已经写的很清楚了,但是自己安装的时候还是有坑,出现了好多错,特此记录官网步骤我是用的virtualenv,按照官网的步骤来,先说明此步骤对你不一定成功:<1> 安装pip和virtualenv环境# Ubuntu/Linux 64-bit$ sudo apt-get install python-pip python-dev python-virtualenv<2>创建虚拟环境目录$ vi原创 2016-09-28 21:06:22 · 6822 阅读 · 1 评论 -
机器学习基本概念-3
前两篇博客介绍了ML中的一些基本概念,还有一些很重要的概念也还没有说到,作为入门教程还是需要直观点,所以先举个最简单的例子线性回归(linear regresion),接下来引出后续的概念.从线性回归说起线性回归很简单,给定一定的输入X,输出相应的输出Y,输出是输入的线性函数.这里使用Andrew Ng ML课程中的线性回归的例子,假设是单变量的linear regression.这里有一些约定,以原创 2016-08-30 15:06:30 · 2194 阅读 · 1 评论 -
机器学习基本概念-4
好久没写博客了,最近在忙一个比较棘手的问题,还好有点眉目了,所以就继续写啦,对不起看我博客的各位………..Hyperparameters在ML中,我们常说的就是train,但是实际什么是train呢? 通俗点说,就是学习参数(hyperparameters) 那什么又是hyperparameters呢? 实际很简单,就是我们的model需要学习或者说需要update的参数,比如你使用了卷积(c原创 2016-10-10 16:53:41 · 1409 阅读 · 1 评论