Diferencia entre tensor y variable en Pytorch

En este artículo vamos a ver la diferencia entre un Tensor y una variable en Pytorch .

Pytorch es una biblioteca de aprendizaje automático de código abierto que se utiliza para la visión artificial, el procesamiento del lenguaje natural y el procesamiento de redes neuronales profundas. Es una biblioteca basada en antorcha. Contiene un conjunto fundamental de características que permiten el cálculo numérico, el despliegue y la optimización. Pytorch se construye utilizando la clase tensor. Fue desarrollado por investigadores de inteligencia artificial de Facebook en 2016. Las dos características principales de Pytorch son: es similar a NumPypero admite GPU, la diferenciación automática se usa para la creación y capacitación de redes de aprendizaje profundo y los modelos se pueden implementar en aplicaciones móviles, por lo que es rápido y fácil de usar. Debemos estar familiarizados con algunos módulos de Pytorch como nn (utilizado para construir redes neuronales), autograd (diferenciación automática de todas las operaciones realizadas en los tensores), optim (para optimizar los pesos de la red neuronal para minimizar la pérdida) y utils (proporcionar clases para el procesamiento de datos).

tensores

La unidad básica de una Pytorch es un tensor. Un tensor es un arreglo n-dimensional o una array. Contiene elementos de un solo tipo de datos. Se utiliza para tomar entradas y también se utiliza para mostrar la salida. Los tensores se utilizan para cálculos potentes en modelos de aprendizaje profundo. Es similar a la array NumPy pero puede ejecutarse en GPU. Se pueden crear a partir de una array, inicializándola en ceros o unos o valores aleatorios o desde arrays NumPy. Se puede acceder a los elementos de los tensores tal como lo hacemos en cualquier otro lenguaje de programación y también se puede acceder a ellos dentro de un rango específico que se puede usar. Muchas operaciones matemáticas se pueden realizar en tensores. Un pequeño código para obtener una comprensión clara de los tensores. 

Python3

import torch
  
x = torch.ones((3, 2))
print(x)
  
arr = [[3, 4]]   
tensor = torch.Tensor(arr)
print(tensor)

Producción:

tensor([[1., 1.],
        [1., 1.],
        [1., 1.]])
tensor([[3., 4.]])

En el código anterior, creamos tensores a partir de una array y también los usamos para crear un tensor.

Variables

Las variables actúan como un envoltorio alrededor de un tensor. Soporta todas las operaciones que se están realizando sobre un tensor. Para admitir la diferenciación automática de gradientes de tensor, autograd se combinó con variable. Una variable consta de dos partes: data y grad. Los datos se refieren al tensor sin procesar que envuelve la variable, y grad se refiere al gradiente del tensor. El uso básico de las variables es calcular el gradiente de tensores. Registra una referencia a la función creador. Con la ayuda de variables, podemos construir un gráfico computacional ya que representa un Node en el gráfico.

haber calculado

Producción:

tensor(6.)
None

En el código anterior, usamos variables para envolver el tensor y realizamos una suma. Dado que la suma es 6, que es una constante, el gradiente, que no es más que una derivada, es Ninguno.

Diferencia entre tensor y una variable en Pytorch

Tensor Variable
Un tensor es la unidad básica de Pytorch Una variable envuelve el tensor.
Un tensor puede ser multidimensional.

Las variables actúan sobre tensores y tienen dos partes de datos. 

y gradiente.

Los tensores pueden realizar operaciones como la suma

resta etc

Las variables pueden realizar todas las operaciones que se realizan en

tensores más calcula gradiente.

Los tensores suelen ser constantes. Las variables representan cambios en los datos.
Los tensores pueden admitir tipos de datos enteros. Si require_grad es True, las variables solo pueden admitir tipos de datos flotantes y complejos.

Publicación traducida automáticamente

Artículo escrito por jhimlic1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *