tf.Tensor
表示元素的多维数组。
用法
tf.Tensor(
op, value_index, dtype
)
参数
-
op
一个Operation
。Operation
计算这个张量。 -
value_index
一个int
。产生此张量的操作端点的索引。 -
dtype
一个DType
。存储在此张量中的元素类型。
抛出
-
TypeError
如果操作不是Operation
。
属性
-
device
将在其上生成此张量的设备的名称,或无。 -
dtype
该张量中元素的DType
。 -
graph
包含此张量的Graph
。 -
name
这个张量的字符串名称。 -
op
Operation
产生这个张量作为输出。 -
shape
返回一个tf.TensorShape
表示这个张量的形状。t = tf.constant([1,2,3,4,5]) t.shape TensorShape([5])
tf.Tensor.shape
等同于tf.Tensor.get_shape()
。在
tf.function
或使用tf.keras.Input
构建模型时,它们返回张量的 build-time 形状,这可能部分未知。tf.TensorShape
不是张量。使用tf.shape(t)
获取包含形状的张量,在运行时计算。有关详细信息和示例,请参阅
tf.Tensor.get_shape()
和tf.TensorShape
。 -
value_index
该张量在其Operation
的输出中的索引。
所有元素都是单一的已知数据类型。
在编写 TensorFlow 程序时,操作和传递的主要对象是 tf.Tensor
。
tf.Tensor
具有以下属性:
- 单一数据类型(例如,float32、int32 或字符串)
- 一个形状
TensorFlow 支持即刻执行和图执行。在即刻执行中,会立即评估操作。在图执行中,构建计算图以供以后评估。
TensorFlow 默认为即刻执行。在下面的示例中,立即计算矩阵乘法结果。
# Compute some values using a Tensor
c = tf.constant([[1.0, 2.0], [3.0, 4.0]])
d = tf.constant([[1.0, 1.0], [0.0, 1.0]])
e = tf.matmul(c, d)
print(e)
tf.Tensor(
[[1. 3.]
[3. 7.]], shape=(2, 2), dtype=float32)
请注意,在即刻执行期间,您可能会发现您的 Tensors
实际上属于 EagerTensor
类型。这是一个内部细节,但它确实让您可以访问一个有用的函数 numpy
:
type(e)
<class '...ops.EagerTensor'>
print(e.numpy())
[[1. 3.]
[3. 7.]]
在 TensorFlow 中,tf.function
是定义图执行的常用方法。
张量的形状(即张量的秩和每个维度的大小)可能并不总是完全已知的。在tf.function
定义中,形状可能只是部分已知的。
如果输入的形状也完全已知,则大多数操作会产生 fully-known 形状的张量,但在某些情况下,只能在执行时找到张量的形状。
许多专用张量可用:参见 tf.Variable
、 tf.constant
、 tf.placeholder
、 tf.sparse.SparseTensor
和 tf.RaggedTensor
。
警告:从 numpy 数组或 pandas 数据帧构造张量时,可以重用底层缓冲区:
a = np.array([1, 2, 3])
b = tf.constant(a)
a[0] = 4
print(b) # tf.Tensor([4 2 3], shape=(3,), dtype=int64)
注意:这是一个可能会更改的实现细节,用户不应依赖此行为。
有关张量的更多信息,请参阅指南。
相关用法
- Python tf.Tensor.__rsub__用法及代码示例
- Python tf.TensorSpec.from_spec用法及代码示例
- Python tf.Tensor.__lt__用法及代码示例
- Python tf.Tensor.set_shape用法及代码示例
- Python tf.Tensor.__abs__用法及代码示例
- Python tf.Tensor.ref用法及代码示例
- Python tf.Tensor.__getitem__用法及代码示例
- Python tf.Tensor.__ge__用法及代码示例
- Python tf.TensorSpec.from_tensor用法及代码示例
- Python tf.TensorShape.merge_with用法及代码示例
- Python tf.TensorArray用法及代码示例
- Python tf.Tensor.__rmatmul__用法及代码示例
- Python tf.TensorShape.__eq__用法及代码示例
- Python tf.Tensor.__bool__用法及代码示例
- Python tf.Tensor.get_shape用法及代码示例
- Python tf.Tensor.__xor__用法及代码示例
- Python tf.Tensor.__sub__用法及代码示例
- Python tf.Tensor.__rpow__用法及代码示例
- Python tf.Tensor.__gt__用法及代码示例
- Python tf.Tensor.__le__用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.Tensor。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。