The post ¿Machine Learning en la Nube? Google Colaboratory con GPU! first appeared on Aprende Machine Learning.
]]>Primero lo primero. ¿Porqué voy a querer tener mi código en la nube? Pues bien, lo normal (¿ideal?) es que tengamos un entorno de desarrollo local en nuestro propio ordenador, un entorno de pruebas en algún servidor, staging y producción. Pero… ¿qué pasa si aún no tenemos instalado el ambiente?, o tenemos conflictos con algún archivo/librería, versión de Python… ó por lo que sea no tenemos espacio en disco… ó hasta si nos va muy lento y no disponemos en -el corto plazo- de mayor procesador/ram? O hasta por simple comodidad, está siempre bien tener a mano una web online, “siempre lista” en donde ya esté prácticamente todo el software que necesitamos instalado. Y ese servicio lo da Google, entre otras opciones. Lo interesante es que Google Colab ofrece varias ventajas frente a sus competidores.
interesante es que Google Colab ofrece varias ventajas frente a sus competidores.
¿Una GPU? ¿para que quiero eso si ya tengo como 8 núcleos? La realidad es que para el procesamiento de algoritmos de Aprendizaje Automático (y para videojuegos, ejem!) la GPU resulta mucho más potente en realizar cálculos (también en paralelo) por ejemplo las multiplicaciones matriciales… esas que HACEMOS TOooooDO el tiempo al ENTRENAR nuestros modelos!!! para hacer el descenso por gradiente ó Toooodo el rato con el Backpropagation de nuestras redes neuronales… Esto supone una mejora de hasta 10x en velocidad de procesado… Algoritmos que antes tomaban días y ahora se resuelven en horas. Un avance enorme.
Si tienes una tarjeta Nvidia con GPU ya instalada, felicidades ya tienes el poder! Si no la tienes y no vas a invertir unos cuántos dólares en comprarla, puedes tener toda(*) su potencia desde la nube!
(*)NOTA: Google se reserva el poder limitar el uso de GPU si considera que estás abusando ó utilizando en demasía ese recurso ó para fines indebidos (por ej. minería de bitcoins)
Google Colab es un servicio en la nube, que nos provee de una Jupyter Notebook a la que podemos acceder con un navegador web sin importar si “en casa” usamos Windows, Linux o Mac. Tiene como grandes ventajas
Primero que nada entramos y logueamos con nuestra cuenta de Google en Colaboratory. Ahora ya podemos:
Una ventaja de enlazar nuestra cuenta con Drive, es porque nos facilita poder subir o descargar archivos. Para subir un archivo seleccionamos “Archivos” del panel izquierdo y damos al botón “subir” como se muestra en la imagen:
Pero si quieres poder usar cualquier archivo, por ej. csv que tengas en tu unidad de drive, deberas ejecutar en una celda:
from google.colab import drive drive.mount('/content/drive/')
Te pedirá que hagas click a un enlace y escribas un código que te dará cuando autorices la app. Cuando vuelvas y hagas actualizar en el tab de archivos veras tu unidad montada y lista para usar !!
Vamos a abrir una Jupyter Notebook que contiene el ejercicio explicado en el artículo de Convolutional Neural Networks: Clasificar 70.000 imágenes deportivas. Para ello, en el cuadro de “Abrir cuaderno”:
Veremos que tenemos el mismo Notebook pero en Google Colab
CASI TODO LISTO… pero….. aún nos queda algo antes de poder ejecutar. En este ejercicio, necesitamos tener las 70.000 imágenes en sus directorios respectivos.
Para ello, primero descargaremos el ZIP. Creamos una celda nueva y ejecutamos:
!wget https://github.com/jbagnato/machine-learning/raw/master/sportimages.zip
y veremos que aparece nuestro archivo zip en el listado (dale a “Actualizar” si hace falta)
Y ahora deberemos descomprimirlo, creamos una celda y ejecutamos:
!unzip -uq ‘sportimages.zip’ -d ‘.’
RECUERDA habilitar el entorno de ejecución con GPU como vimos antes. Ahora Ya podemos ejecutar todas las celdas y veremos qué rápido ejecuta la CNN con GPU, en comparación con CPU. Pasa de tardar 4 minutos a sólo 40 segundos.
Deberemos ejecutar por ejemplo: !pip install gensim
Hemos visto que tenemos la opción de tener nuestro ambiente de desarrollo local pero también esta alternativa de poder programar, experimentar y trabajar en la nube. Gracias a este servicio podemos tener listo el ambiente en pocos segundos y aprovechar de las ventajas que nos ofrece, sobre todo el uso de GPU que es un recurso del que no todos disponemos. Espero les haya gustado el artículo, no dejen de escribir sus comentarios, dudas y también te animo a que escribas qué temas de Machine Learning te interesa más. Hasta la próxima!
Recuerda tener instalado tu ambiente de desarrollo Local con Anaconda, aquí te explico cómo hacerlo!
Suscribete al blog y recibe los nuevos artículos directo en tu casilla de correos!
NOTA: muchos usuarios reportaron que el email de confirmación y/o posteriores entraron en su carpeta de SPAM. Te sugiero que revises y recomiendo que agregues nuestro remitente a tus contactos.
Nuevo!: Realiza Pronóstico de ventas con Redes Neuronales con Keras en Python
Otros artículos que explican el uso de Google Colab (en inglés):
The post ¿Machine Learning en la Nube? Google Colaboratory con GPU! first appeared on Aprende Machine Learning.
]]>