TensorFlow

发布 : 2017-07-07 分类 : TensorFlow 浏览 :

关于TensorFlow

  • TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库

  • 节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系多维数据数组,即张量(tensor)

  • 它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等

  • TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域

什么是数据流图(Data Flow Graph)?

  • 数据流图"结点"(nodes)"线"(edges)有向图来描述数学计算

  • "节点" 一般用来表示施加的数学操作,但也可以表示数据输入(feed in)的起点/输出(push out)的终点,或者是读取/写入持久变量(persistent variable)的终点

  • "线"表示"节点"之间的输入/输出关系,这些数据”线”可以输运”size可动态调整”的多维数据数组,即"张量"(tensor)

  • 张量从图中流过的直观图像是这个工具取名为”Tensorflow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算

TensorFlow安装

1
[root@sparsematrix ~]# pip install -i https://pypi.douban.com/simple/ tensorflow

运行一个TensorFlow演示模型

1
2
3
4
5
6
7
8
9
10
11
# -*- coding: utf-8 -*-

import tensorflow as tf

hello = tf.constant('hello,TensorFlow!')
sess = tf.Session()
print sess.run(hello)

a = tf.constant(10)
b = tf.constant(32)
print sess.run(a + b)

TensorFlow基础知识

  • 使用图(graphs)来表示计算
  • 在会话(Session)中执行图
  • 使用张量(tensors)来代表数据
  • 通过变量(Variables)维护状态
  • 使用供给(feeds)和取回(fetches)将数据传入或传出任何操作

概述

  • TensorFlow是一个以图(graphs)来表示计算的编程系统,图中的节点被称之为operation
  • 一个op获得零或多个张量(tensors)执行计算,产生零或多个张量
  • 张量是一个按类型划分的多维数组
  • 你可以将将小组图像集表示为一个思维浮点数数组,这四个维度分别是[batch,height,width,channels]

  • TensorFlow的图是一种对计算的抽象描述

  • 在计算开始前,图必须在会话(Session)中被启动,会话将图的op分发到如CPU或GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生张量(tensor)返回

计算图

  • TensorFlow可按两个阶段组织起来:构建阶段执行阶段,前者用于组织计算图,后者利用session中执行计算图中的op操作
  • 例如:在构建阶段创建一个图来表示和训练神经网络,然后在执行阶段反复执行一组op来实现图中的训练
  • TensorFlow支持C、C++、Python编程语言

构建计算图

  • 基于op建立图的时候一般不需要任何的输入源(source op),例如输入常量(Constance),再将他们传递给其他op执行运算
本文作者 : Matrix
原文链接 : https://matrixsparse.github.io/2017/07/07/TensorFlow/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

知识 & 情怀 | 二者兼得

微信扫一扫, 向我投食

微信扫一扫, 向我投食

支付宝扫一扫, 向我投食

支付宝扫一扫, 向我投食

留下足迹