Se usó la API de Cloud Translation para traducir esta página.
Switch to English

tf.Tensor

Versión de TensorFlow 1 Ver código fuente en GitHub

Un tensor es una matriz multidimensional de elementos representados por un

tf.Tensor . Todos los elementos son de un solo tipo de datos conocido.

Al escribir un programa TensorFlow, el objeto principal que se manipula y pasa es el tf.Tensor .

Un tf.Tensor tiene las siguientes propiedades:

  • un solo tipo de datos (float32, int32 o string, por ejemplo)
  • una forma

TensorFlow admite la ejecución ansiosa y la ejecución de gráficos. En una ejecución ávida, las operaciones se evalúan de inmediato. En la ejecución del gráfico, se construye un gráfico computacional para una evaluación posterior.

TensorFlow tiene como valor predeterminado una ejecución ansiosa. En el siguiente ejemplo, los resultados de la multiplicación de matrices se calculan inmediatamente.

# 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)

Tenga en cuenta que durante la ejecución ansiosa, puede descubrir que sus Tensors son en realidad del tipo EagerTensor . Este es un detalle interno, pero le da acceso a una función útil, numpy :

type(e)
<class '...ops.EagerTensor'>
print(e.numpy())
  [[1. 3.]
   [3. 7.]]

En TensorFlow, tf.function s son una forma común de definir la ejecución de gráficos.

Es posible que la forma de un tensor (es decir, el rango del tensor y el tamaño de cada dimensión) no siempre se conozca por completo. En tf.function definiciones de función, la forma solo puede conocerse parcialmente.

La mayoría de las operaciones producen tensores de formas totalmente conocidas si las formas de sus entradas también son totalmente conocidas, pero en algunos casos solo es posible encontrar la forma de un tensor en el momento de la ejecución.

Hay disponibles varios tensores especializados: consulte tf.Variable , tf.constant , tf.placeholder , tf.sparse.SparseTensor y tf.RaggedTensor .

Para obtener más información sobre tensores, consulte la guía .

op Una Operation . Operation que calcula este tensor.
value_index Un int . Índice del punto final de la operación que produce este tensor.
dtype Un tipo DType . Tipo de elementos almacenados en este tensor.

TypeError Si la Operation no es una Operation .

device El nombre del dispositivo en el que se producirá este tensor, o Ninguno.
dtype El DType de elementos en este tensor.
graph El Graph que contiene este tensor.
name El nombre de la cadena de este tensor.
op The Operation that produces this tensor as an output.
shape Returns a tf.TensorShape that represents the shape of this tensor.

t = tf.constant([1,2,3,4,5])
t.shape
TensorShape([5])

tf.Tensor.shape is equivalent to tf.Tensor.get_shape() .

In a tf.function or when building a model using tf.keras.Input , they return the build-time shape of the tensor, which may be partially unknown.

A tf.TensorShape is not a tensor. Use tf.shape(t) to get a tensor containing the shape, calculated at runtime.

See tf.Tensor.get_shape() , and tf.TensorShape for details and examples.

value_index The index of this tensor in the outputs of its Operation .

Methods

consumers

View source

Returns a list of Operation s that consume this tensor.

Returns
A list of Operation s.

eval

View source

Evaluates this tensor in a Session .

Calling this method will execute all preceding operations that produce the inputs needed for the operation that produces this tensor.

Args
feed_dict A dictionary that maps Tensor objects to feed values. See tf.Session.run for a description of the valid feed values.
session (Optional.) The Session to be used to evaluate this tensor. If none, the default session will be used.

Returns
A numpy array corresponding to the value of this tensor.

experimental_ref

View source

DEPRECATED FUNCTION

get_shape

View source

Returns a tf.TensorShape that represents the shape of this tensor.

In eager execution the shape is always fully-known.

a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
print(a.shape)
(2, 3)

tf.Tensor.get_shape() is equivalent to tf.Tensor.shape .

When executing in a tf.function or building a model using tf.keras.Input , Tensor.shape may return a partial shape (including None for unknown dimensions). See tf.TensorShape for more details.

inputs = tf.keras.Input(shape = [10])
# Unknown batch size
print(inputs.shape)
(None, 10)

The shape is computed using shape inference functions that are registered for each tf.Operation .

The returned