发新帖

TensorFlow 学习 -- 低级别 API - 张量 (1)

[复制链接]
393 0

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
转载自: https://tensorflow.google.cn/programmers_guide/tensors?hl=zh-CN


正如名称所示,TensorFlow 这一框架定义和运行涉及张量的计算。张量是对矢量和矩阵向潜在的更高维度的泛化。对内,TensorFlow 将张量表现为基本数据类型的 n 维数组。
在编写 TensorFlow 程序时,操控和传递的主要目标是 tf.Tensor。tf.Tensor 目标表示一个部分定义的计算,最终会产生一个值。TensorFlow 程序首先建立 tf.Tensor 目标图,详细说明如何基于其他可用张量来计算每个张量,然后运行该图的部分内容以获得所期望的结果。
tf.Tensor 有以下属性:
  • 数据类型(例如 float32,int32 或 string)
  • 形状
张量中的每个元素都具有相同的数据类型,且该数据类型一定是已知的。形状,即张量的维数和每个维度的大小,可能只有部分已知。如果其输入的形状也完全已知,则大多数指令会生成形状完全已知的张量,但在某些情况下,只能在图的执行时间找到张量的形状。
某些类型的张量是特殊的,《编程人员指南》的其他部分中有所介绍。以下是主要的特殊张量:
  • tf.Variable
  • tf.constant
  • tf.placeholder
  • tf.SparseTensor
除 tf.Variable 以外,张量的值不可变,这意味着在单一执行的情况下,张量只有一个值。然而,同一张量的两次评估可能会返回不同的值;例如,该张量可以是从磁盘读取数据的结果,或是生成随机数的结果。


tf.Tensor 的就是它本身的维数。阶的同义词包括:秩序等级n 维。 请注意,TensorFlow 中的阶与数学中矩阵的阶并不是同一个概念。如下表所示,TensorFlow 中的每个阶都对应一个不同的数学实例:
[td]
数学实例
0标量(只有大小)
1矢量(大小和方向)
2矩阵(数据表)
33 阶张量(数据立体)
nn 阶张量(自行想象)


0 阶
以下摘要演示了创建 0 阶变量的过程:

mammal = tf.Variable("Elephant", tf.string)
ignition = tf.Variable(451, tf.int16)
floating = tf.Variable(3.14159265359, tf.float64)
its_complicated = tf.Variable(12.3 - 4.85j, tf.complex64)
注意:字符串在 TensorFlow 中被视为单一项,而不是一连串字符。TensorFlow 可以有标量字符串,字符串矢量,等等。


1 阶
要创建 1 阶 tf.Tensor 目标,可以传递一个项列表作为初始值。例如:

mystr = tf.Variable(["Hello"], tf.string)
cool_numbers  = tf.Variable([3.14159, 2.71828], tf.float32)
first_primes = tf.Variable([2, 3, 5, 7, 11], tf.int32)
its_very_complicated = tf.Variable([12.3 - 4.85j, 7.5 - 6.23j], tf.complex64)


更高阶
2 阶 tf.Tensor 目标由至少一行一列组成:

mymat = tf.Variable([[7],[11]], tf.int16)
myxor = tf.Variable([[False, True],[True, False]], tf.bool)
linear_squares = tf.Variable([[4], [9], [16], [25]], tf.int32)
squarish_squares = tf.Variable([ [4, 9], [16, 25] ], tf.int32)
rank_of_squares = tf.rank(squarish_squares)
mymatC = tf.Variable([[7],[11]], tf.int32)
更高阶的张量,同样由一个 n 维数组组成。例如,在图像处理过程中,会使用许多 4 阶张量,维度对应批量示例,图像宽度,图像高度和颜色通道。

my_image = tf.zeros([10, 299, 299, 3])  # batch x height x width x color

本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

快速回复 返回顶部 返回列表