TensorFlow - Noções básicas

Neste capítulo, aprenderemos sobre os fundamentos do TensorFlow. Começaremos entendendo a estrutura de dados do tensor.

Estrutura de dados do tensor

Os tensores são usados ​​como estruturas de dados básicas na linguagem TensorFlow. Os tensores representam as bordas de conexão em qualquer diagrama de fluxo denominado Gráfico de fluxo de dados. Os tensores são definidos como matriz ou lista multidimensional.

Os tensores são identificados pelos três parâmetros a seguir -

Classificação

A unidade de dimensionalidade descrita no tensor é chamada de classificação. Ele identifica o número de dimensões do tensor. Uma classificação de um tensor pode ser descrita como a ordem ou n-dimensões de um tensor definido.

Forma

O número de linhas e colunas juntas define a forma do Tensor.

Tipo

Tipo descreve o tipo de dados atribuído aos elementos do Tensor.

Um usuário precisa considerar as seguintes atividades para construir um Tensor -

  • Construa uma matriz n-dimensional
  • Converta a matriz n-dimensional.

Várias dimensões do TensorFlow

O TensorFlow inclui várias dimensões. As dimensões são descritas resumidamente abaixo -

Tensor unidimensional

Tensor unidimensional é uma estrutura de array normal que inclui um conjunto de valores do mesmo tipo de dados.

Declaration

>>> import numpy as np
>>> tensor_1d = np.array([1.3, 1, 4.0, 23.99])
>>> print tensor_1d

A implementação com a saída é mostrada na captura de tela abaixo -

A indexação de elementos é igual às listas Python. O primeiro elemento começa com índice de 0; para imprimir os valores através do índice, basta mencionar o número do índice.

>>> print tensor_1d[0]
1.3
>>> print tensor_1d[2]
4.0

Tensores bidimensionais

A sequência de matrizes é usada para criar “tensores bidimensionais”.

A criação de tensores bidimensionais é descrita abaixo -

A seguir está a sintaxe completa para criar matrizes bidimensionais -

>>> import numpy as np
>>> tensor_2d = np.array([(1,2,3,4),(4,5,6,7),(8,9,10,11),(12,13,14,15)])
>>> print(tensor_2d)
[[ 1 2 3 4]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
>>>

Os elementos específicos dos tensores bidimensionais podem ser rastreados com a ajuda do número da linha e do número da coluna especificados como números de índice.

>>> tensor_2d[3][2]
14

Manipulação e manipulação de tensores

Nesta seção, aprenderemos sobre Manipulação e manipulação de tensores.

Para começar, vamos considerar o seguinte código -

import tensorflow as tf
import numpy as np

matrix1 = np.array([(2,2,2),(2,2,2),(2,2,2)],dtype = 'int32')
matrix2 = np.array([(1,1,1),(1,1,1),(1,1,1)],dtype = 'int32')

print (matrix1)
print (matrix2)

matrix1 = tf.constant(matrix1)
matrix2 = tf.constant(matrix2)
matrix_product = tf.matmul(matrix1, matrix2)
matrix_sum = tf.add(matrix1,matrix2)
matrix_3 = np.array([(2,7,2),(1,4,2),(9,0,2)],dtype = 'float32')
print (matrix_3)

matrix_det = tf.matrix_determinant(matrix_3)
with tf.Session() as sess:
   result1 = sess.run(matrix_product)
   result2 = sess.run(matrix_sum)
   result3 = sess.run(matrix_det)

print (result1)
print (result2)
print (result3)

Output

O código acima irá gerar a seguinte saída -

Explicação

Criamos matrizes multidimensionais no código-fonte acima. Agora, é importante entender que criamos o gráfico e as sessões, que gerenciam os tensores e geram a saída apropriada. Com a ajuda do gráfico, temos a saída especificando os cálculos matemáticos entre tensores.