tensorflow简介

原创 2017年01月03日 20:45:02

你正在了解的的tensorflow项目可能会比 Android 系统更加深远地影响着世界!
缘起
2015年11月9日,Google发布人工智能系统TensorFlow并宣布开源。

机器学习作为人工智能的一种类型,可以让软件根据大量的数据来对未来的情况进行阐述或预判。如今,领先的科技巨头无不在机器学习下予以极大投入。Facebook、苹果、微软,甚至国内的百度。Google 自然也在其中。「TensorFlow」是 Google 多年以来内部的机器学习系统。如今,Google 正在将此系统成为开源系统,并将此系统的参数公布给业界工程师、学者和拥有大量编程能力的技术人员,这意味着什么呢?

打个不太恰当的比喻,如今 Google 对待 TensorFlow 系统,有点类似于该公司对待旗下移动操作系统 Android。如果更多的数据科学家开始使用 Google 的系统来从事机器学习方面的研究,那么这将有利于 Google 对日益发展的机器学习行业拥有更多的主导权。

基本使用

TensorFlow五种基本特性:

  1. 使用图 (graph) 来表示计算任务.
  2. 在被称之为 会话 (Session) 的上下文 (context) 中执行图.
  3. 使用 tensor 表示数据.
  4. 通过 变量 (Variable) 维护状态.
  5. 使用 feed 和 fetch 可以为任意的操作( operation) 赋值或者从其中获取数据.

计算图

TensorFlow 程序通常被组织成一个构建阶段和一个执行阶段. 在构建阶段, op 的执行步骤 被描述成一个图. 在执行阶段, 使用会话执行执行图中的 op.

例如, 通常在构建阶段创建一个图来表示和训练神经网络, 然后在执行阶段反复执行图中的训练 op.

构建图

构建图的第一步, 是创建源 op (source op). 源 op 不需要任何输入, 例如 常量 (Constant). 源 op 的输出被传递给其它 op 做运算.
tensorlfow显存管理
1. 按比例
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
session = tf.Session(config=config, …)
2.按需求增长(theano那种)或者干脆自适应然后自动增长:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, …)

实战:构建卷积神经网络用于mnist数据分类

这里写图片描述

反向传播

这里写图片描述

  由神经元i连接到神经元j的突触权值的校正值Δwji(n)定义如下:

(Δwji(n))=(η)×(δj(n))×(jyi(n))

  • 如果神经元j是一个输出层节点,δj(n)=ej(n)φj(vj(n)),输出神经元j还是用了非线性激活函数,其实就是softmax激活函数。要不然没有倒数求?
  • 如果神经元j是一个隐藏层节点,δj(n)=φj(vj(n))kδk(n)wkj(n)

softmax函数

softmax(x)=normalize(xx)

softmax(x)i=exijexj

tf.random_normal([1,100],mean=0,stddev=1)
和tf.random_normal([1,100],mean=0,stddev=0.1)结果如下图。权重初始化时,方差尽量取小,0.1合适。
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

TensorFlow简介

好记性不如烂笔头,刚开始学习TensorFlow,为了方便自己,同时为了帮助其他人更好的学习,我就简单的把自己的学习历程记录下来。TensorFlow的学习过程难免参考其他人的文章,我会尽量标注出引用...

图解TensorFlow架构与设计

尊重原版:http://mp.weixin.qq.com/s?__biz=MzI5MzIwNDI1MQ==&mid=2650117609&idx=3&sn=ab3453596f03bf1bca2ad2...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Tensorflow-简介

TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,...

Tensorflow简介

1、Tensorflow作用 Tensorflow 对于机器学习英语来说就如同Linux、IOS等操作系统一样,一方面为用户构建上层应用提供接口,让用户以此为平台,开发出各种各样的应用产品,...

TensorFlow教程 1 Tensorflow简介

1 Tensorflow简介Tensorflow简介 1 为什么选 Tensorflow 2 安装 21 安装 Tensorflow Linux 和 MacOS Windows 3 神经网络在干嘛 本...

TensorFlow简介

初识TensorFlow2016年3月份,Google的围棋人工智能程序AlphaGo以4比1的大比分,战胜人类选手李世石,在全球成功引起广泛关注,引起了一波人工智能的热潮。从智能手机的语音助手,到相...

TensorFlow 简介

2015 年 11 月 9 日,Google Research 发布了文章:TensorFlow - Google’s latest machine learning system, open sou...

TF Learn入门 —— 简介

TF Learn 是 TensorFlow 的简化界面,使人更快的开始预测分析和数据挖掘。该库涵盖了多种需求,从线性模型到深度学习应用如文本和图形理解。 为什么选择 TensorFlow? Tenso...

Tensorflow结构简介

Tensorflow: 1)使用graph来表示计算任务; 2))graph中的节点是op操作,获取的数据是Tensor,输出的数据也是Tensor,使用Tensor表示在op节点间流动的数据,可...

tensorflow 入门简介

计算模型 首先构造好整个计算链路 可以对链路进行优化 分布式调度 基于层模型 每个层的计算,固定实现 forward/backward 必须手动指定目标GPU卡 概念 使用张量表示数据 使用图来表示计...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)