谢杨易的博客

全栈工程师,人工智能 & 移动开发

Tensorflow源码解析1 -- 内核架构和源码结构

1 主流深度学习框架对比 当今的软件开发基本都是分层化和模块化的,应用层开发会基于框架层。比如开发Linux Driver会基于Linux kernel,开发Android app会基于Android Framework。深度学习也不例外,框架层为上层模型开发提供了强大的多语言接口、稳定的运行时、...

2018-11-15 14:20:51

阅读数:1375

评论数:6

自然语言处理1 -- 分词

1 概述 英文语句使用空格将单词进行分隔,除了某些特定词,如how many,New York等外,大部分情况下不需要考虑分词问题。但中文不同,天然缺少分隔符,需要读者自行分词和断句。故在做中文自然语言处理时,我们需要先进行分词。 2 中文分词难点 中文分词不像英文那样,天然有空格作为分...

2018-08-14 19:33:26

阅读数:1091

评论数:3

带你深入AI(1) - 深度学习模型训练痛点及解决方法

1 模型训练基本步骤 进入了AI领域,学习了手写字识别等几个demo后,就会发现深度学习模型训练是十分关键和有挑战性的。选定了网络结构后,深度学习训练过程基本大同小异,一般分为如下几个步骤 定义算法公式,也就是神经网络的前向算法。我们一般使用现成的网络,如inceptionV4,mobile...

2018-04-06 18:16:39

阅读数:2603

评论数:4

机器学习算法简要

1 算法分类 机器学习算法很多,按照是否有标注,以及要解决的问题特点,按照如下规则分类。 有监督学习 分类问题 决策树: 支持向量机 朴素贝叶斯:条件概率 集成学习(多个分类算法的结合) Boosting:弱学习提升为强学习 Bagging, 随机森林:并行多个分类算法,最终进行集成 ...

2018-11-20 11:33:45

阅读数:312

评论数:2

Tensorflow源码解析7 -- TensorFlow分布式运行时

1 概述 TensorFlow架构设计精巧,在后端运行时这一层,除了提供本地运行时外,还提供了分布式运行时。通过分布式训练,在多台机器上并行执行,大大提高了训练速度。前端用户通过session.run()启动系统执行时,target默认为空字符串"&amp...

2018-11-18 19:45:42

阅读数:679

评论数:1

Tensorflow源码解析6 -- TensorFlow本地运行时

1 概述 TensorFlow后端分为四层,运行时层、计算层、通信层、设备层。运行时作为第一层,实现了session管理、graph管理等很多重要的逻辑,是十分关键的一层。根据任务分布的不同,运行时又分为本地运行时和分布式运行时。本地运行时,所有任务运行于本地同一进程内。而分布式运行时,则允许任务...

2018-11-18 17:14:40

阅读数:649

评论数:2

Tensorflow源码解析5 -- 图的边 - Tensor

1 概述 前文两篇文章分别讲解了TensorFlow核心对象Graph,和Graph的节点Operation。Graph另外一大成员,即为其边Tensor。边用来表示计算的数据,它经过上游节点计算后得到,然后传递给下游节点进行运算。本文讲解Graph的边Tensor,以及TensorFlow中的变...

2018-11-16 18:49:49

阅读数:602

评论数:1

Tensorflow源码解析4 -- 图的节点 - Operation

1 概述 上文讲述了TensorFlow的核心对象,计算图Graph。Graph包含两大成员,节点和边。节点即为计算算子Operation,边则为计算数据Tensor。由起始节点Source出发,按照Graph的拓扑顺序,依次执行节点的计算,即可完成整图的计算,最后结束于终止节点Sink,并输出计...

2018-11-16 16:27:22

阅读数:642

评论数:2

Tensorflow源码解析3 -- TensorFlow核心对象 - Graph

1 Graph概述 计算图Graph是TensorFlow的核心对象,TensorFlow的运行流程基本都是围绕它进行的。包括图的构建、传递、剪枝、按worker分裂、按设备二次分裂、执行、注销等。因此理解计算图Graph对掌握TensorFlow运行尤为关键。 2 默认Graph 默认图替换 ...

2018-11-16 15:23:33

阅读数:685

评论数:2

Tensorflow源码解析2 -- 前后端连接的桥梁 - Session

1 Session概述 Session是TensorFlow前后端连接的桥梁。用户利用session使得client能够与master的执行引擎建立连接,并通过session.run()来触发一次计算。它建立了一套上下文环境,封装了operation计算以及tensor求值的环境。 session...

2018-11-15 21:08:58

阅读数:791

评论数:2

自然语言处理6 -- 情感分析

1 概述 情感分析是自然语言处理中常见的场景,比如淘宝商品评价,饿了么外卖评价等,对于指导产品更新迭代具有关键性作用。通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外...

2018-09-09 15:30:17

阅读数:1559

评论数:4

自然语言处理5 -- 词向量

1 概述 词向量和分词一样,也是自然语言处理中的基础性工作。词向量一方面解决了词语的编码问题,另一方面也解决了词的同义关系,使得基于LSTM等深度学习模型的自然语言处理成为了可能。和分词不同,中英文文本,均需要进行词向量编码。 2 词向量工具 2013年Google开源了word2vec...

2018-08-27 10:23:43

阅读数:609

评论数:2

自然语言处理4 -- 句法分析

1 概述 句法分析也是自然语言处理中的基础性工作,它分析句子的句法结构(主谓宾结构)和词汇间的依存关系(并列,从属等)。通过句法分析,可以为语义分析,情感倾向,观点抽取等NLP应用场景打下坚实的基础。 随着深度学习在NLP中的使用,特别是本身携带句法关系的LSTM模型的应用,句法分析已经变得不...

2018-08-23 10:42:28

阅读数:1374

评论数:1

自然语言处理3 -- 词性标注

1 概述 词性标注在自然语言处理中也属于基础性的模块,为句法分析、信息抽取等工作打下基础。和分词一样,中文词性标注也存在着很多难点,比如一词多词性,未登录词处理等诸多问题。通过基于字符串匹配的字典查询算法和基于统计的词性标注算法,可以很好的解决这些问题。一般需要先将语句进行分词,然后再进行词性标...

2018-08-21 14:35:01

阅读数:1158

评论数:3

自然语言处理2 -- jieba分词用法及原理

1 概述 上篇文章我们分析了自然语言处理,特别是中文处理中,分词的几个主要难点,为了解决这些难点,我们提出了基于字符串匹配的算法和基于统计的分词算法。针对当前的几种分词引擎,我们对其分词准确度和速度进行了评估。jieba分词作为一个开源项目,在准确度和速度方面均不错,是我们平时常用的分词工具。本...

2018-08-16 11:25:49

阅读数:736

评论数:2

带你深入AI(7)- 深度学习重要Python库

1 pandas pandas用来读取csv等带有标签的列和索引,从中导入数据,并快速的对数据进行过滤和转换。 1.1 数据类型 分为Series和DataFrame两种。Series为一维的数据类型,每个元素都有自己的标签。 DataFrame为二维的,表格型的数据结构。 1....

2018-05-22 21:28:44

阅读数:604

评论数:2

带你深入AI(6)- 详解bazel

1 Bazel简介bazel是Google开源的一套编译构建工具,广泛应用于Google内部,包括TensorFlow项目。修改TensorFlow内部源码,需要使用bazel来编译,故有必要了解下bazel。bazel优点很多,主要有 构建快。支持增量编译。对依赖关系进行了优化,从而支持并发执行...

2018-04-27 08:08:19

阅读数:4788

评论数:5

带你深入AI(5)- 自然语言处理领域:RNN LSTM GRU

1 引言深度学习算法模型大致分为三类,物体分类,目标检测和自然语言处理。前面两章我们分析了物体分类算法和目标检测算法,着重讲解了算法执行流程,优缺点,以及他们的优化技巧。本文分析最后一个大类,即自然语言处理领域。与物体分类和目标检测不同,自然语言处理中,前一个时刻和后一个时刻会对我们当前的输出结果...

2018-04-20 21:14:32

阅读数:607

评论数:1

带你深入AI(4)- 目标检测领域:R-CNN,faster R-CNN,yolo,SSD, yoloV2

1 引言 深度学习目前已经应用到了各个领域,应用场景大体分为三类:物体识别,目标检测,自然语言处理。上文我们对物体识别领域的技术方案,也就是CNN进行了详细的分析,对LeNet-5 AlexNet VGG Inception ResNet MobileNet等各种优秀的模型框架有了深入理解。本文...

2018-04-15 11:09:29

阅读数:1482

评论数:2

带你深入AI(3)- 物体分类领域:AlexNet VGG Inception ResNet mobileNet

1 引言 当前深度学习十分火热,深度学习网络模型对于降低错误率的重要作用不言而喻。深度学习应用场景主要分为三类:物体识别与分类,物体检测,自然语言处理。在物体识别与分类领域,随着AlexNet在2012年一炮走红,深度学习重新燃起了一片热情。从Lenet5第一次使用卷积开始,经历了AlexNet...

2018-04-09 15:04:26

阅读数:774

评论数:2

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