Escrito por
Mateus Almeida
em
4 min de leitura
Explorando Tensores com PyTorch

PyTorch é uma biblioteca de aprendizado de máquina de código aberto baseada em Torch, que é uma biblioteca de aprendizado de máquina e visão computacional. PyTorch é amplamente utilizado para desenvolver modelos de aprendizado profundo e é conhecido por sua facilidade de uso e flexibilidade. Uma das principais estruturas de dados em PyTorch são os tensores, que são matrizes multidimensionais que podem ser indexadas em mais de duas dimensões. Este artigo tem como foco introduzir os tensores e suas principais operações, além disso, será necessário abordar as demais representações e estruturas existentes como escalares, vetores e matrizes.

Escalar
Um escalar é um valor único que pode ser armazenado em uma variável, como um número. Os escalares são frequentemente usados em cálculos matemáticos simples, como adição, subtração, multiplicação e divisão. Em programação, os escalares são usados para representar valores simples, como contadores, índices e constantes.
Vetores
Os vetores são usados na computação para representar quantidades que têm direção e magnitude, como a velocidade de um objeto em movimento. Os vetores podem ser representados como uma lista de números, onde cada número representa a magnitude do vetor em uma dimensão específica. Os vetores são frequentemente usados em cálculos matemáticos que envolvem direção e magnitude, como física, geometria e análise de dados. Em programação, os vetores são usados para representar listas de valores, como coordenadas de pontos em um gráfico.

Matrizes
As matrizes são usadas na computação para representar dados tabulares, como tabelas de preços ou dados de vendas. As matrizes também são usadas em cálculos matemáticos que envolvem sistemas de equações lineares, transformações lineares e decomposições de valores singulares. As matrizes são uma estrutura matemática fundamental em álgebra linear e são amplamente utilizadas em ciência da computação, engenharia e física. Em programação, as matrizes são usadas para representar dados tabulares e para realizar cálculos matemáticos complexos.

Tensores
Os tensores em PyTorch são semelhantes aos arrays NumPy, mas com a vantagem de que podem ser usados tanto em CPUs quanto em GPUs, o que acelera os processos computacionais. Os tensores podem ser criados de várias maneiras, como a partir de listas, arrays NumPy ou diretamente usando funções como torch.zeros() e torch.ones().

Todas funções estão presentes na documentação do PyTorch.
Criação de um tensor
Aqui está um exemplo de como criar um tensor simples usando a função torch.ones():
Operações básicas
Os tensores em PyTorch suportam várias operações matemáticas, como adição, subtração, multiplicação, divisão, etc. Além disso, PyTorch também oferece suporte a operações de álgebra linear, como multiplicação de matrizes e decomposição de valores singulares. Abaixo está um exemplo de como realizar uma multiplicação de matrizes usando tensores em PyTorch:
Outro tipo de operação são as de redução, das quais são usadas para reduzir a dimensão de um tensor, o que pode ser útil em muitos cálculos matemáticos e de aprendizado profundo. Algumas das operações de redução mais comuns em PyTorch são a soma, a média e o máximo. A operação de soma é usada para calcular a soma de todos os elementos em um tensor, enquanto a operação de média é usada para calcular a média de todos os elementos em um tensor. A operação de máximo é usada para encontrar o valor máximo em um tensor.
Por exemplo, suponha que temos um tensor de dimensão (3, 4) e queremos calcular a soma de todos os elementos no tensor. Podemos fazer isso usando a operação de redução torch.sum() da seguinte maneira:
Da mesma forma, podemos calcular a média de todos os elementos no tensor usando a operação de redução torch.mean():
Por fim, podemos encontrar o valor máximo em um tensor usando a operação de redução torch.max():
Conclusão
Em resumo, os tensores são uma estrutura de dados fundamental em PyTorch e são usados para representar dados em matrizes multidimensionais. Os tensores em PyTorch são semelhantes aos arrays NumPy, mas com a vantagem de que podem ser usados tanto em CPUs quanto em GPUs. PyTorch oferece suporte a várias operações matemáticas e de álgebra linear em tensores, o que os torna uma ferramenta poderosa para desenvolver modelos de aprendizado profundo.
Referências
PyTorch DOC
What is PyTorch
Machine Learning Basics
Obrigado pela leitura!