PyTorch - Terminologías

En este capítulo, discutiremos algunos de los términos más utilizados en PyTorch.

PyTorch NumPy

Un tensor de PyTorch es idéntico a una matriz NumPy. Un tensor es una matriz n-dimensional y con respecto a PyTorch, proporciona muchas funciones para operar en estos tensores.

Los tensores PyTorch suelen utilizar GPU para acelerar sus cálculos numéricos. Estos tensores que se crean en PyTorch se pueden usar para ajustar una red de dos capas a datos aleatorios. El usuario puede implementar manualmente las pasadas hacia adelante y hacia atrás a través de la red.

Variables y autogrado

Al usar autograd, el pase directo de su red definirá un computational graph - los nodos en el gráfico serán Tensores y los bordes serán funciones que producen Tensores de salida a partir de Tensores de entrada.

Los tensores de PyTorch se pueden crear como objetos variables donde una variable representa un nodo en un gráfico computacional.

Gráficos dinámicos

Los gráficos estáticos son agradables porque el usuario puede optimizar el gráfico desde el principio. Si los programadores están reutilizando el mismo gráfico una y otra vez, esta optimización inicial potencialmente costosa se puede mantener mientras se vuelve a ejecutar el mismo gráfico una y otra vez.

La principal diferencia entre ellos es que los gráficos computacionales de Tensor Flow son estáticos y PyTorch usa gráficos computacionales dinámicos.

Paquete Optim

El paquete optim en PyTorch abstrae la idea de un algoritmo de optimización que se implementa de muchas formas y proporciona ilustraciones de los algoritmos de optimización de uso común. Esto se puede llamar dentro de la declaración de importación.

Multiprocesamiento

El multiprocesamiento admite las mismas operaciones, por lo que todos los tensores funcionan en varios procesadores. Los datos de la cola se moverán a la memoria compartida y solo enviará un identificador a otro proceso.