使用 TensorFlow 之前你需要了解关于 TensorFlow 的以下基础知识 :
• 使用图 (graphs) 来表示计算 .
• 在会话 ( Session ) 中执行图 .
• 使用张量 (tensors) 来代表数据 .
• 通过变量 ( Variables ) 维护状态 .
• 使用供给 ( feeds ) 和取回 ( fetches ) 将数据传入或传出任何操作

概述

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

TensorFlow 的图是一种对计算的抽象描述。在计算开始前 , 图必须在 会话 ( Session
() ) 中被启动 . 会话将图的 op 分发到如 CPU 或 GPU 之类的设备 ( Devices() ) 上 , 同时提供
执行 op 的方法。这些方法执行后 , 将产生的张量 (tensor) 返回。在 Python 语言中 , 将返
回 numpy 的 ndarray 对象 ; 在 C 和 C++ 语言中 , 将返回 tensorflow::Tensor 实例。

计算图

通常, TensorFlow 编程可按两个阶段组织起来 : 构建阶段和执行阶段 ; 前者用于组
织计算图,而后者利用 session 中执行计算图中的 op 操作。

构建过程完成后就可运行执行过程。为了载入之前所构建的图,必须先创建一个
会话对象 ( Session object) 。会话构建器在未指明参数时会载入默认的图。
完整的会话 API 资料,请参见会话类 (Session object) 。

TensorFlow 事实上通过一个“翻译”过程, 将定义的图转化为不同的可用计算资源
间实现分布计算的操作,如 CPU 或是显卡 GPU 。通常不需要用户指定具体使用的 CPU
或 GPU , TensorFlow 能自动检测并尽可能的充分利用找到的第一个 GPU 进行运算。

张量

TensorFlow 程序使用 tensor 数据结构来代表所有的数据 , 计算图中 , 操作间传递的
数据都是 tensor. 你可以把 TensorFlow 的张量看作是一个 n 维的数组或列表 . 一个 tensor
包含一个静态类型 rank, 和一个 shape. 想了解 TensorFlow 是如何处理这些概念的 , 参见
Rank, Shape, 和 Type] 。

每个Tensor中的元素都有相同的data type,并且data type总是已知的。

shape表示有几维和每个维度的size,可能有部分未知

除了tf.Variable,一个张量的值是不可变的

Rank

tf.Tensor对象的rank表示有几个维度

tf.Tensor切片

[ ]中每个数字代表一个索引(index),index本身可以是一个tf.Tensor的标量

Rank为2的tensor,输入两个索引得到一个标量,如下:

Shape

表示每个维度的size

Data types

tensor中的数据类型,引用tf.DataType

Tensor.eval

用于计算一个tensor的值

TensorFlow使用基础-Tensor的更多相关文章

  1. 第七节,TensorFlow编程基础案例-TensorBoard以及常用函数、共享变量、图操作(下)

    这一节主要来介绍TesorFlow的可视化工具TensorBoard,以及TensorFlow基础类型定义.函数操作,后面又介绍到了共享变量和图操作. 一 TesnorBoard可视化操作 Tenso ...

  2. 第六节,TensorFlow编程基础案例-保存和恢复模型(中)

    在我们使用TensorFlow的时候,有时候需要训练一个比较复杂的网络,比如后面的AlexNet,ResNet,GoogleNet等等,由于训练这些网络花费的时间比较长,因此我们需要保存模型的参数. ...

  3. 第五节,TensorFlow编程基础案例-session使用(上)

    在第一节中我们已经介绍了一些TensorFlow的编程技巧;第一节,TensorFlow基本用法,但是内容过于偏少,对于TensorFlow的讲解并不多,这一节对之前的内容进行补充,并更加深入了解讲解 ...

  4. TensorFlow——tensorflow编程基础

    0.tensorflow中的模型运行基础 tensorflow的运行机制属于定义和运行相分离,在操作层面可以抽象成两种:模型构建和模型运行. 在模型构建中的常见概念: 张量(tensor):数据,即某 ...

  5. TensorFlow中的 tensor 张量到底是什么意思?

    详见[Reference]: TensorFlow中的“Tensor”到底是什么? 以下摘录一些要点: 这个图好生动呀!~ 标量和向量都是张量(tensor).

  6. Tensorflow的基础用法

    简介 Tensorflow是一个深度学习框架,它使用图(graph)来表示计算任务,使用tensor(张量)表示数据,图中的节点称为OP,在一个会话(Session)的上下文中执行运算,最终产生ten ...

  7. 学习TensorFlow,打印输出tensor的值

    在学习TensorFlow的过程中,我们需要知道某个tensor的值是什么,这个很重要,尤其是在debug的时候.也许你会说,这个很容易啊,直接print就可以了.其实不然,print只能打印输出sh ...

  8. AI - TensorFlow - 张量(Tensor)

    张量(Tensor) 在Tensorflow中,变量统一称作张量(Tensor). 张量(Tensor)是任意维度的数组. 0阶张量:纯量或标量 (scalar), 也就是一个数值,例如,\'Howd ...

  9. tensorflow(1) 基础: 神经网络基本框架

    1.tensorflow 的计算得到的是计算图graph import tensorflow as tf a=tf.constant([1.0,2.0]) b=tf.constant([3.0,4.0 ...

随机推荐

  1. Complete Physics Platformer Kit 学习

    using UnityEngine; /// <summary> /// 摄像机跟随玩家 /// </summary> public class CameraFollow : ...

  2. 最新apache多域名多站点配置

    httpd.conf===> Listen Listen ServerName 用IP地址作为servername LoadModule rewrite_module modules/mod_r ...

  3. C# Monitor的Wait和Pulse方法使用详解

    [转载]http://blog.csdn.net/qqsttt/article/details/24777553 Monitor的Wait和Pulse方法在线程的同步锁使用中是比较复杂的,理解稍微困难 ...

  4. nginx 镜像使用说明

    nginx 镜像说明 目录 说明 /etc/nginx nginx安装目录 /usr/share/nginx/html nginx网站资源存放的目录 运行nginx容器,相关命令: 命令 说明 doc ...

  5. python实现tail -f 功能

    这篇文章最初是因为reboot的群里,有人去面试,笔试题有这个题,不知道怎么做,什么思路,就发群里大家讨论 我想了一下,简单说一下我的想法吧,当然,也有很好用的pyinotify模块专门监听文件变化, ...

  6. STL 的 vector 根据元素的值来删除元素的方法

    vector 的 erase( ) 只能删除迭代器,所以要想删某种值的元素,需要这样: 假设有一个 vector 叫 vt ,则 vt.erase( remove( vt.begin() , vt.e ...

  7. Spring Cloud Stream

    Spring Cloud Stream是Spring Cloud的组件之一,是一个为微服务应用构建消息驱动能力的框架. 1.导入引用 <dependency> <groupId> ...

  8. NET设计模式 第二部分 行为型模式(15):模版方法模式(Template Method)

    摘要:Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要. 主要内容 1.概述 2.Template Method解说 3..NET中的Te ...

  9. 让shell脚本中的echo输出带颜色

    转载自:http://www.linuxidc.com/Linux/2014-12/110463.htm 让echo输出带颜色的方法有两种 1.在shell脚本中定义颜色变量,使用echo -e调用变 ...

  10. 让邮件服务器发出的Email不被认为是垃圾邮件

    配置一个Email服务器很简单,用Postfix等软件稍微配置一下就可以了,几分钟搞定. 但Email服务器发出去的Email很可能经常被人当成垃圾邮件,怎么配置Email服务器才能让Email服务器 ...