Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Tipos de Dados | Tensores
Introdução ao TensorFlow

bookTipos de Dados

Tipos de Dados

Nesta seção, você irá explorar o conceito de tipos de dados no TensorFlow. Assim como as linguagens de programação categorizam números e textos em tipos como inteiros, floats ou strings, os tensores no TensorFlow também possuem tipos específicos.

Tipos de Dados Disponíveis no TensorFlow

O TensorFlow oferece uma variedade de tipos de dados para atender diferentes tipos de dados e operações. Alguns dos tipos mais utilizados são:

  • tf.float16, tf.float32, tf.float64: são números de ponto flutuante, onde os números após o ponto são relevantes. O número em seu nome (como 16 em tf.float16) indica a quantidade de bits utilizada. tf.float32 é frequentemente utilizado por oferecer um bom equilíbrio entre precisão e velocidade de computação;

  • tf.int8, tf.int16, tf.int32, tf.int64: são tipos inteiros, números sem ponto decimal. Podem ser positivos ou negativos;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64: o 'u' significa 'unsigned' (sem sinal), indicando que esses inteiros são sempre não negativos;

  • tf.bool: representa valores booleanos (True ou False);

  • tf.string: para dados de texto.

Note
Nota

Para tipos inteiros, um número maior no nome apenas indica um intervalo mais amplo de valores que pode ser armazenado. Já para tipos de ponto flutuante, um número maior no nome também indica maior precisão computacional.

Existem mais tipos de dados disponíveis no TensorFlow, mas para iniciantes, é fundamental se familiarizar primeiro com esses tipos principais. Para uma lista abrangente dos tipos de dados suportados pelo TensorFlow, consulte esta página específica na documentação do TensorFlow.

Definição do Tipo de Dado ao Criar um Tensor

Ao inicializar um tensor, é possível especificar seu tipo utilizando o argumento dtype:

123456789101112
import tensorflow as tf # Creating a tensor of type `float16` tensor_float = tf.constant([1.2, 2.3, 3.4], dtype=tf.float16) # Creating a tensor of type `int64` tensor_int = tf.constant([1, 2, 3], dtype=tf.int64) # Display tensors print(tensor_float) print('-' * 50) print(tensor_int)
copy
Note
Nota

Muitas funções de criação de tensores adotam essa abordagem. Ela é aplicável em métodos como tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() e até mesmo em tf.convert_to_tensor().

Conversão Entre Tipos de Dados

Mas e se a função que você está utilizando não permitir a especificação direta do tipo de dado? Ou talvez você já possua um tensor de determinado tipo e precise alterá-lo. Nesses casos, é necessário transformar tensores de um tipo de dado para outro. Isso é especialmente relevante, pois certas operações ou camadas de redes neurais frequentemente exigem entradas de um tipo específico, predominantemente números de ponto flutuante.

Você pode utilizar tf.cast() para realizar essa conversão:

123456789101112
import tensorflow as tf # Create a tensor tensor_float = tf.constant([-1.2, 2.3, 3.8]) # Convert our `tensor_float` from `float32` to `int32` tensor_int_converted = tf.cast(tensor_float, dtype=tf.int32) # Display a tensor print(tensor_float) print('-' * 50) print(tensor_int_converted)
copy

Lembre-se: ao converter de um tipo de ponto flutuante para um tipo inteiro, o TensorFlow realizará a operação de piso, basicamente descartando a parte decimal. Assim, 3.8 se torna 3 e -1.2 se torna -1.

Note
Nota

Tenha cautela ao alterar tipos de dados, especialmente ao migrar para um tipo com menor precisão. Informações podem ser perdidas nesse processo.

Tarefa

Swipe to start coding

Sua tarefa é criar um tensor de um tipo de dado específico e, em seguida, convertê-lo para outro tipo de dado.

  1. Crie um tensor chamado initial_tensor com formato (3, 3) contendo valores distribuídos normalmente. Certifique-se de que este tensor possua o tipo de dado de ponto flutuante de 64 bits.
  2. Transforme o initial_tensor em um tensor chamado converted_tensor com tipo de dado de ponto flutuante de 16 bits.

Solução

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

What are some practical examples of when I would need to change a tensor's data type?

Can you explain the difference between signed and unsigned integer types in TensorFlow?

How do I check the data type of an existing tensor?

close

Awesome!

Completion rate improved to 5.56

bookTipos de Dados

Deslize para mostrar o menu

Tipos de Dados

Nesta seção, você irá explorar o conceito de tipos de dados no TensorFlow. Assim como as linguagens de programação categorizam números e textos em tipos como inteiros, floats ou strings, os tensores no TensorFlow também possuem tipos específicos.

Tipos de Dados Disponíveis no TensorFlow

O TensorFlow oferece uma variedade de tipos de dados para atender diferentes tipos de dados e operações. Alguns dos tipos mais utilizados são:

  • tf.float16, tf.float32, tf.float64: são números de ponto flutuante, onde os números após o ponto são relevantes. O número em seu nome (como 16 em tf.float16) indica a quantidade de bits utilizada. tf.float32 é frequentemente utilizado por oferecer um bom equilíbrio entre precisão e velocidade de computação;

  • tf.int8, tf.int16, tf.int32, tf.int64: são tipos inteiros, números sem ponto decimal. Podem ser positivos ou negativos;

  • tf.uint8, tf.uint16, tf.uint32, tf.uint64: o 'u' significa 'unsigned' (sem sinal), indicando que esses inteiros são sempre não negativos;

  • tf.bool: representa valores booleanos (True ou False);

  • tf.string: para dados de texto.

Note
Nota

Para tipos inteiros, um número maior no nome apenas indica um intervalo mais amplo de valores que pode ser armazenado. Já para tipos de ponto flutuante, um número maior no nome também indica maior precisão computacional.

Existem mais tipos de dados disponíveis no TensorFlow, mas para iniciantes, é fundamental se familiarizar primeiro com esses tipos principais. Para uma lista abrangente dos tipos de dados suportados pelo TensorFlow, consulte esta página específica na documentação do TensorFlow.

Definição do Tipo de Dado ao Criar um Tensor

Ao inicializar um tensor, é possível especificar seu tipo utilizando o argumento dtype:

123456789101112
import tensorflow as tf # Creating a tensor of type `float16` tensor_float = tf.constant([1.2, 2.3, 3.4], dtype=tf.float16) # Creating a tensor of type `int64` tensor_int = tf.constant([1, 2, 3], dtype=tf.int64) # Display tensors print(tensor_float) print('-' * 50) print(tensor_int)
copy
Note
Nota

Muitas funções de criação de tensores adotam essa abordagem. Ela é aplicável em métodos como tf.Variable(), tf.zeros(), tf.ones(), tf.random.normal(), tf.random.uniform() e até mesmo em tf.convert_to_tensor().

Conversão Entre Tipos de Dados

Mas e se a função que você está utilizando não permitir a especificação direta do tipo de dado? Ou talvez você já possua um tensor de determinado tipo e precise alterá-lo. Nesses casos, é necessário transformar tensores de um tipo de dado para outro. Isso é especialmente relevante, pois certas operações ou camadas de redes neurais frequentemente exigem entradas de um tipo específico, predominantemente números de ponto flutuante.

Você pode utilizar tf.cast() para realizar essa conversão:

123456789101112
import tensorflow as tf # Create a tensor tensor_float = tf.constant([-1.2, 2.3, 3.8]) # Convert our `tensor_float` from `float32` to `int32` tensor_int_converted = tf.cast(tensor_float, dtype=tf.int32) # Display a tensor print(tensor_float) print('-' * 50) print(tensor_int_converted)
copy

Lembre-se: ao converter de um tipo de ponto flutuante para um tipo inteiro, o TensorFlow realizará a operação de piso, basicamente descartando a parte decimal. Assim, 3.8 se torna 3 e -1.2 se torna -1.

Note
Nota

Tenha cautela ao alterar tipos de dados, especialmente ao migrar para um tipo com menor precisão. Informações podem ser perdidas nesse processo.

Tarefa

Swipe to start coding

Sua tarefa é criar um tensor de um tipo de dado específico e, em seguida, convertê-lo para outro tipo de dado.

  1. Crie um tensor chamado initial_tensor com formato (3, 3) contendo valores distribuídos normalmente. Certifique-se de que este tensor possua o tipo de dado de ponto flutuante de 64 bits.
  2. Transforme o initial_tensor em um tensor chamado converted_tensor com tipo de dado de ponto flutuante de 16 bits.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7
single

single

some-alt