使用 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. dev 域名与 Chrome

    前几天在相开发时使用什么的样域名比较好呢? 之前使用到 localhost,但只是本地开发,使用 test.com 感觉又不专业. 后来发现了一些指向 127.0.0.1 的域名,比如 localte ...

  2. cksum命令详解

    Linux cksum命令 Linux cksum命令用于检查文件的CRC是否正确.确保文件从一个系统传输到另一个系统的过程中不被损坏. CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至 ...

  3. Apache Kafka监控之Kafka Web Console

    Kafka Web Console:是一款开源的系统,源码的地址在https://github.com/claudemamo/kafka-web-console中.Kafka Web Console也 ...

  4. Mysql 5.7 单机单实例

    参考文章 https://www.xiaocoder.com/2017/03/17/mysql-installation-guide/ 下载5.7的mysql 社区版包 https://cdn.mys ...

  5. CodeReview常见代码问题

    路线图 常见代码问题空值未捕获潜在的异常低性能影响范围过大单测问题与原有业务逻辑不兼容缺乏必要日志错误码不符合规范参数检测缺乏或不足引用错误细节错误多重条件文不符实跨语言或跨系统交互可维护性问题硬编码 ...

  6. mysql update 将一个表某字段设为另一个表某字段的值

    表新添加了一个字段,毫无疑问是空值.所以想将另一个表的某个字段的值写入到修改的表中. sql语句不复杂,但还是记录一下,因为也查了一会,以后说不定还会用到. mysql> update cent ...

  7. 时钟分频方法---verilog代码

    时钟分频方法---verilog代码 本文以SDI播出部分的工程为例,来说明一种时钟分频的写法.SD-SDI工程中播出时钟tx_usrclk为148.5MHz,但tx_video_a_y_in端的数据 ...

  8. Delphi XE5开发Android程序使用自定义字体文件.

    万事大吉,只欠根据字体文件(.ttf文件)切换阅读字体,通常Android系统只带三种以下字体.一般用Java/Eclipse开发的话比较简单,typeface的createFromAsset,cre ...

  9. JFrame关闭程序就退出的设置

    要是实现JFrame 关闭后程就退出或者停止可以调用setDefaultCloseOperation() 方法. 入下图程序 package ltb6w; import javax.swing.*; ...

  10. 【linux】centos6.9设置etc0网卡开机自动获取ip

    在vm新安装的centos系统中,一般选择NAT来设置和主机共享局域网,通过ifconfig etc0 192.168.xx.xx 这种作法机器重启之后就会失效,所以可以使用更改文件的方式完成设置ce ...