Skip links

¿Qué es PyTorch?

Es un paquete de Python diseñado para realizar cálculos numéricos haciendo uso de la programación de tensores. Además permite su ejecución en GPU para acelerar los cálculos.

Normalmente PyTorch es usado tanto para sustituir numpy y procesar los cálculos en GPU como para la investigación y desarrollo en el campo del machine learning, centrado principalmente en el desarrollo de redes neuronales.

Alternativas a PyTorch:

En la actualidad disponemos de varias alternativas a PyTorch en su aplicación al machine learning, algunas de las más conocidas son:

  • Tensorflow: fue desarrollado por Google Brain Team. Es software libre diseñado para computación numérica mediante grafos.
  • Caffe: es un framework de machine learning diseñado con objetivo de ser usado en visión por computador o clasificación de imagenes. Caffe es popular por su librería de modelos ya entrenados (Model Zoo) que no requieren de ninguna implementación extra.
  • Microsoft CNTKes el framework de software libre desarrollado por Microsoft. Es muy popular en el área de reconocimiento del habla aunque también puede ser usado para otros campos como texto e imágenes.
  • Theano: es una librería de python que te permite definir, optimizar y evaluar expresiones matemáticas que implican cálculos con arrays multidimensionales de forma eficiente.
  • Keras: es una API de alto nivel para el desarrollo de redes neuronales escrita en Python. Utiliza otras librerías de forma interna como son Tensorflow, CNTK y Theano. Fue desarrollado con el propósito de facilitar y agilizar el desarrollo y la experimentación con redes neuronales.

¿Por qué usar PyTorch?

PyTorch es una librería muy reciente y pese a ello dispone de una gran cantidad de manuales y tutoriales donde encontrar ejemplos. Además de una comunidad que crece a pasos agigantados.

PyTorch dispone una interfaz muy sencilla para la creación de redes neuronales pese a trabajar de forma directa con tensores sin la necesidad de una librería a un nivel superior como pueda ser Keras para Theano o Tensorflow.

Al contrario que otros paquetes como Tensorflow, PyTorch trabaja con grafos dinámicos en vez de estáticos. Esto significa que en tiempo de ejecución se pueden ir modificando las funciones y el cálculo del gradiente variará con ellas. En cambio en Tensorflow debemos definir primero el grafo de computación y después utilizar la session para calcular los resultados de los tensores, esto dificulta la depuración de código y hace más tediosa su implementación.

PyTorch dispone de soporte para su ejecución en tarjetas gráficas (GPU), utiliza internamente CUDA, una API que conecta la CPU con la GPU que ha sido desarrollado por NVIDIA.

Cómo instalar PyTorch

Instalar PyTorch es muy sencillo, sobre todo si hacemos uso de anaconda o del gestor de paquetes pip. Simplemente vamos a la web de PyTorch, y seleccionamos el paquete que nos corresponda:

En nuestro caso vamos a realizar la instalación en Ubuntu 17.04 utilizando pip para Python3. En este equipo no disponemos de una gráfica NVIDIA por lo que no utilizaremos CUDA.

Simplemente ejecutamos los comandos que nos proporciona y una vez instalado comprobamos que se ha instalado correctamente entrando en el interprete de Python y escribiendo:

>>> import torch
>>> import torchvision

Si no recibimos ningún mensaje el paquete se habrá instalado exitosamente. En próximos artículos veremos como utilizar la librería para crear nuestras primeras redes neuronales.

Reader Interactions

About Jesús Vieco

Ingeniero informático que se especializó en la rama de computación,apasionado por el mundo de la inteligencia artificial, lo que le llevó realizar el máster en inteligencia artificial que ofrece la Universidad Politécnica de Valencia. Fascinado por los avances que la inteligencia artificial, y más en concreto por el aprendizaje automático, pueden aportar a la sociedad. Responsable del área de deep learning en CleverPy.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies