Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Pytorch – Redes Neuronales en Python

  • 3 Respuestas
  • 808 Vistas

0 Usuarios y 6 Visitantes están viendo este tema.

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5487
  • Actividad:
    18.33%
  • Reputación 35
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Agosto 11, 2019, 05:16:23 pm »

Ú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:  https://pytorch.org 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
  1. pip3 install https://download.pytorch.org/whl/cu90/torch-1.1.0-cp37-cp37m-win_amd64.whl
  2. 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: torch.cuda.is_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
  1. import torch
  2. x = torch.Tensor(5,4)
  3. print (x)

Al correr el script, tendremos un resultado como este:


Ahora crearemos 2 tensores y los sumaremos.

Código: Python
  1. import torch
  2. x = torch.Tensor(5,4)
  3. y = torch.Tensor(5,4)
  4. z = x+y
  5. print (z)


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

Código: Python
  1. import torch
  2. x = torch.Tensor(5,4)
  3. y = torch.Tensor(5,4)
  4. x = x.cuda()
  5. y = y.cuda()
  6. z = x+y
  7. 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


Desconectado Moy

  • *
  • Underc0der
  • Mensajes: 39
  • Actividad:
    3.33%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Agosto 11, 2019, 05:41:48 pm »
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: C++
  1. :)

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5487
  • Actividad:
    18.33%
  • Reputación 35
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #2 en: Agosto 11, 2019, 05:43:13 pm »
Muchas gracias por leer mi post @Moy

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


Conectado DtxdF

  • *
  • Moderador
  • Mensajes: 355
  • Actividad:
    61.67%
  • Reputación 6
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
« Respuesta #3 en: Agosto 12, 2019, 09:25:26 pm »
Gracias @ANTRAX. Justo hoy comencé a aprender sobre estos temas y son de verdad espectaculares.
Los seres humanos son robots, cuyo combustible es el afanado dinero.

 

¿Te gustó el post? COMPARTILO!



[Código] Yardas a metros - Metros a yardas [Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 2830
Último mensaje Mayo 29, 2011, 01:27:34 am
por LucaSthefano
Python Trojan - By "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 1
Vistas: 3959
Último mensaje Abril 03, 2010, 11:01:59 pm
por Dharok
Python phpmyadmin "BruteForce"

Iniciado por linkgl

Respuestas: 2
Vistas: 4382
Último mensaje Agosto 19, 2011, 12:14:37 pm
por linkgl
Python keylogger - by "bLiNdFiR3"

Iniciado por d33k40

Respuestas: 0
Vistas: 3756
Último mensaje Abril 07, 2010, 03:30:22 am
por d33k40
[Código] Entero / No Entero [Ejercicio - Python]

Iniciado por LucaSthefano

Respuestas: 0
Vistas: 2907
Último mensaje Mayo 29, 2011, 01:24:09 am
por LucaSthefano