Pytorch – Redes Neuronales en Python

Iniciado por ANTRAX, Agosto 11, 2019, 05:16:23 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.


Últimamente hay un gran revuelo por la inteligencia artificial y redes neuronales, Pytorch es una librería de Python que permite hacer cálculos numéricos haciendo uso de la programación de tensores. No solo esto, sino que permite utilizar la GPU para acelerar aún más los cálculos.

Pytorch está ganando mucho terreno en esta área, porque es muy sencillo de utilizar, además a pesar de ser una librería reciente, hay mucha documentación con ejemplos para usarla. Otra curiosidad a tener en cuenta, es que posee una comunidad que esta creciendo muchísimo, en donde cada vez más programadores comparten sus códigos y experiencias. Por último, cabe destacar que es la librería principal que utiliza Facebook para aplicaciones de Deep Learning.

Pytorch se basa en el uso de tensores, que pueden ser equipados con vectores de una o muchas dimensiones.

Para entender un poco mejor el concepto de red neuronal, podemos decir que es un sistema de nodos interconectados de forma ordenado, distribuido por capas. A través de estas capas es posible captar una señal de entrada y emitir una salida. Se conoce como red neuronal, ya que es básicamente una emulación a la red biológica del reino animal. Estas capas pueden ser "entrenadas" para que aprendan.

Primeros pasos con Pytorch

Para instalar Pytorch, entramos a su web oficial:  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y en la parte de Quick Start, veremos algo como lo siguiente:


Automáticamente identifica nuestro sistema operativo, packages, versión de Python, y CUDA es por si disponemos de alguna tarjeta gráfica. En mi caso detectó la versión 9.0. En caso de no tener, simplemente seleccionamos NONE.

Por último, nos genera el comando que debemos correr desde nuestra consola, en mi caso:

Código: python
pip3 install https://download.pytorch.org/whl/cu90/torch-1.1.0-cp37-cp37m-win_amd64.whl
pip3 install https://download.pytorch.org/whl/cu90/torchvision-0.3.0-cp37-cp37m-win_amd64.whl


Una vez instalado, podemos importarlo en nuestro proyecto de la siguiente manera

import torch

Con esto ya podemos comenzar a utilizar esta potente librería. A continuación, veremos como verificar si tenemos disponible CUDA para procesar datos utilizando la GPU, lo que logrará que las ejecuciones sean más veloces.

En una consola, importamos torch y luego tipeamos: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta_available()


En caso de estar disponible, nos responderá con un True.
Ahora veamos un ejemplo de como cargarle datos a un tensor, y luego como sumar tensores utilizando la GPU.
Comenzaremos creando un tensor de la siguiente forma: import torch

Código: python
import torch
x = torch.Tensor(5,4)
print (x)


Al correr el script, tendremos un resultado como este:


Ahora crearemos 2 tensores y los sumaremos.

Código: python
import torch
x = torch.Tensor(5,4)
y = torch.Tensor(5,4)
z = x+y
print (z)



Finalmente haremos esta misma suma, pero utilizando la GPU, para ello colocamos lo siguiente:

Código: python
import torch
x = torch.Tensor(5,4)
y = torch.Tensor(5,4)
x = x.cuda()
y = y.cuda()
z = x+y
print (z)



Básicamente lo que hacemos es pasar nuestras variables que estaban en la CPU a la GPU y luego podemos sumarla con normalidad.

Se puede hacer una infinidad de cosas interesantes con esta potente librería de Python, la limitación la pone la imaginación de cada uno.

Saludos,
ANTRAX


excelente ANTRAX justo ando en un curso de machine learning con tensorflow y keras

le voy a hechar un ojo a Pytorch se ve que simplifica bastante el uso de tensores


un saludo
Código: cpp
:)

Muchas gracias por leer mi post @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Hice unas pocas pruebas y la verdad es que es muy potente, sobre todo si tienes placa de video para usarle la GPU!

Saludos,
ANTRAX


Gracias @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta. Justo hoy comencé a aprender sobre estos temas y son de verdad espectaculares.
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF