Deep Learning con Pytorch

Deep Learning con Pytorch

En este artículo hablaré un poco del concepto de Pytorch y su uso para aplicaciones en redes Neuronales y la creación de una regresión lineal.

Jun 11, 2018 · 4 min read

¿Qué es PyTorch?

Es una libreria basado en 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.

¿Por qué usar PyTorch?

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.
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.

¿Que se puede usar con PyTorch?

  • Matrices.
  • Álgebra lineal.
  • Creación de una red de feedforward.
  • Entre otras cosas y tu imaginacion.
Torch es uno de los frameworks de Deep Learning más populares en el mundo, dominando gran parte de la comunidad de investigación en los últimos años (solo recientemente rivalizado con los principales frameworks patrocinados por Google, Tensorflow y Keras ). Quizás su único inconveniente para los nuevos usuarios ha sido el hecho de que se requiere conocer Lua , un lenguaje que solía ser muy poco común en la comunidad de Machine Learning. Incluso hoy en día, esta barrera de entrada puede parecer un poco para muchas personas nuevas en el campo, que ya están en medio de una gran cantidad de aprendizaje, y mucho menos de un lenguaje de programación completamente nuevo.

¿Que es un Tensor?

Un Tensor es solo un término más genérico que matrix o vector . Los tensores de 1 dimensión son vectores. 
Los tensores bidimensionales son matrices. 3+ tensores dimensionales se conocen como tensores. Si no está familiarizado con estos objetos, aquí hay un resumen rápido. Un vector es “una lista de números”. Una matriz es “una lista de listas de números”. Un tensor 3-d es “una lista de listas de listas de números”. Un tensor 4-d es … ¿observas este patrón? Para obtener más información sobre cómo se usan los vectores y las matrices 
aquí
Tensors PyTorch
Parece haber 4 tipos principales de tensores en PyTorch: tensores de Byte, Float, Double y Long. Cada tipo de tensor corresponde al tipo de número (y más importante, el tamaño / indicación del número) contenido en cada lugar de la matriz. Entonces, si un Tensor de 1-d es una “lista de números”, un Tensor de Flotación de 1-d es una lista de flotadores . Como regla general, para peso matries usamos FloatTensors. Para las matrices de datos, es probable que usemos FloatTensors (para entradas con valores reales) o Long Tensors (para enteros).
Ahora para no aburrir con solo lectura un ejemplo básico una regresión Lineal con la generación de datos manuales. para la próxima haremos ya con dataset de kaggle para resolver algunos problemas con modelos basado en Pytorch
Import Librerias
Hiper parametros
Dataset Manual con Array Numpy
Definiendo el modelo de regresión lineal
Pérdida y Optimizador
Entrenando el Modelo
Forward adelantado
Backward y optimizacion
Visualización con matplotlib
Guardar modelo
torch.save(model.state_dict(), ‘my_modelo.pkl’)
Cargar modelo existente
model.load_state_dict(torch.load(‘my_modelo.pkl))
Libro para leer
Espero le hayas gustado esta publicación sobre algunos conceptos básicos de redes convolucionales con Pytorch ya jugaremos en kaggle para hace predicciones o jugar con imágenes =)
linkedin:
SHARE

Oscar perez

Arquitecto especialista en gestion de proyectos si necesitas desarrollar algun proyecto en Bogota contactame en el 3006825874 o visita mi pagina en www.arquitectobogota.tk

  • Image
  • Image
  • Image
  • Image
  • Image
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario