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支持了windows,所以让我的学习变得更加便捷。 我的主要参考文章有 http://blog.csdn.net/...
  • MargretWG
  • MargretWG
  • 2017年04月13日 19:42
  • 1360

Tensorflow基本介绍

本文转自:TensorFlow 官方文档中文版 基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务.在被称之为 会话 ...
  • u010385646
  • u010385646
  • 2016年09月02日 10:05
  • 5614

TensorFlow的分布式学习框架简介

摘要:从0.8版本起,tensorflow不仅支持多GPU运算,而且还支持分布式计算,包括分布式多GPU计算。可以将其部署在分布式的集群上。本文主要目的是简要介绍tensorflow的分布式架构。来源...
  • lenbow
  • lenbow
  • 2016年08月05日 16:42
  • 6769

tensorflow 学习笔记(二) - 简介

tensorflow 学习笔记(二) - 简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Fl...
  • m0_37167788
  • m0_37167788
  • 2018年01月10日 15:34
  • 41

TensorFlow的分布式学习框架简介

摘要:从0.8版本起,tensorflow不仅支持多GPU运算,而且还支持分布式计算,包括分布式多GPU计算。可以将其部署在分布式的集群上。本文主要目的是简要介绍tensorflow的分布式架构。来源...
  • lenbow
  • lenbow
  • 2016年08月05日 16:42
  • 6769

TensorFlow计算图简介

TensorFlow编程与C、C++、JAVA等高级程序设计语言有很大的不同。在高级程序设计语言中,都是一步一步计算的,每计算完一步就可以得到一个执行结果。在TensorFlow中,首先需要构建一个计...
  • jp_666
  • jp_666
  • 2017年12月18日 18:01
  • 38

Tensorflow 分布式部署简介

tensorflow-0.8 的一大特性为可以部署在分布式的集群上,本文对tensorflow的分布式的相关文档进行了简单的翻译,并加入了一些个人的看法。...
  • sydpz1987
  • sydpz1987
  • 2016年05月07日 21:49
  • 13195

深度学习小白——TensorFlow(一)简介

我选择tensorFlow作为我学习的第一个神经网络框架,恰巧最近Tensorflow支持了windows,所以让我的学习变得更加便捷。 我的主要参考文章有 http://blog.csdn.net/...
  • MargretWG
  • MargretWG
  • 2017年04月13日 19:42
  • 1360

TensorFlow游乐场及神经网络简介

TensorFlow是谷歌2015年开源的主流深度学习框架,目前已在谷歌、优步(Uber)、京东、小米等科技公司广泛应用。本文将通过TensorFlow游乐场来简单介绍神经网络的主要功能以及计算流程。...
  • broadview2006
  • broadview2006
  • 2017年03月27日 17:10
  • 1502

第一阶段-入门详细图文讲解tensorflow1.4 -简介(一)

An open-source software library for Machine Intelligence简介tensorflow白皮书TensorFlow™ 是一个使用数据流图进行数值计算的开...
  • jk981811667
  • jk981811667
  • 2017年12月12日 10:40
  • 124
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:tensorflow简介
举报原因:
原因补充:

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