IST - Física HowTo - Informática 14:34
2025-12-22
  Bibliotecas
 
     Inteligência artificial
 
        TensorFlow
 
           Tipos
 
              Dataset
 
              Tensor
 

TensorFlow — Tensor

Sumário
1. Introdução
2. Exemplos de tensores
3. Conversão entre "tensorflow" e "numpy"
4. Para saber informações sobre a "GPU" e colocação das variáveis
5. Métodos
6. Obter a referência para um tensor
7. Bibliografia
Início

1. Introdução

Um tensor, tf.Tensor é uma matriz multidimensional. Semelhante aos objetos NumPy ndarray.
Os objetos tf.Tensor têm um tipo de dados e uma forma:
  • Um valor,
  • Um único tipo de dados (dtype). Exemplos: float32, int32, string, etc.
  • Uma forma (shape).
Nota: Vários exemplos foram retirados dos manuais (ver bibliografia).
Início

2. Exemplos de tensores

x1 = tf.add(1, 2)
x2 = tf.add([1, 2], [3, 4])
x3 = tf.square(5)
x4 = tf.reduce_sum([1, 2, 3])
x5 = tf.square(2) + tf.square(3)
print(x5)
print(x5.numpy())

x = tf.matmul([[1]], [[2, 3]])
print(x)
print(x.shape)
print(x.dtype)
Início

3. Conversão entre "tensorflow" e "numpy"

A conversão entre TensorFlow e ndarray NumPy e inversamente são feitas automaticamente. Exemplo:
ndarray = np.ones([3, 3])
tensor = tf.multiply(ndarray, 42)
print(tensor)
print(np.add(tensor, 1))
print(tensor.numpy())
Nota: É bom ter em conta que o Tensor pode viver no CPU, no GPU ou no TPU, enquanto o ndarray vive no CPU.
Início

4. Para saber informações sobre a "GPU" e colocação das variáveis

Para saber a GPU existe, fazer:
print("Is there a GPU available: "),
print(tf.config.list_physical_devices("GPU"))
Para saber se um tensor está na GPU, fazer:
x = tf.random.uniform([3, 3])
print("Is the Tensor on GPU #0:  "),
print(x.device.endswith('GPU:0'))
Início

5. Métodos

  • tf.constant():
  • Cria um tensor constante a partir de um objeto semelhante a um tensor. Exemplos:
    x1 = tf.constant(np.square(6))
    x2 = tf.constant(np.ones([3, 3]))
    
    Bibliografia:
Início

6. Obter a referência para um tensor

x.ref() devolve um objecto "hashável" para o tensor "x":
x = tf.constant(5)
y = tf.constant(10)
tensor_set = {x.ref(), y.ref()}
x.ref() in tensor_set
tensor_dict = {x.ref(): 'five', y.ref(): 'ten'}
tensor_dict[y.ref()]
print(x.ref())
x.ref().deref()
print(x.ref().deref().numpy())
Nota: Vários exemplos foram retirados dos manuais (ver bibliografia). note-se que "x.ref().deref()" devolve o tensor original.
Início

7. Bibliografia

Início