En este tutorial te explico cómo utilizar datasets de Kaggle en Google Colab.
Kaggle es uno de los mejores lugares de internet donde puedes ir a buscar datasets para entrenar tus modelos de Machine Learning.
Kaggle pone a tu disposición los Kaggle Notebooks, que no son más que Jupyter Notebooks que puedes ejecutar desde tu navegador gratis.
Así que puedes de manera directa empezar a cacharrear con cualquier dataset de su catálogo.
Lo que pasa es que los Notebooks de Kaggle tienen limitaciones temporales para usar sus recursos de cómputo en cada sesión:
Además, si hay mucha gente utilizando los notebooks de Kaggle a la vez y están accediendo a GPUs es posible que tee pongan en cola y también existe una cuota semanal de horas a las que puedes acceder a una GPU o TPU.
Esta cuota no es siempre la misma porque se ajusta según la demanda de recursos que esté habiendo en Kaggle pero rondan las 30 horas semanales para GPUs.
Google Colab es una de la manera de iniciarse en el mundo del Machine Learning sin tener que instalar absolutamente nada en tu ordenador.
Tiene una versión completamente gratis que te permiten utilizar las GPUs y TPUs de Google.
Tanto Kaggle como Google Colab son productos de Google así que reportan las mismas limitaciones en cuanto a la duración de las sesiones.
En el caso de Google Colab existe una opción de pago, Colab Pro+, que permite la ejecución continua de código durante un máximo de 24 horas.
Por otro lado, Google Colab no tiene una cuota máxima semanal de acceso a GPUs y TPUs como la que puede tener Kaggle.
Eso sí, el acceso a estos recursos no está garantizado así que es posible que si intentas entrenar un modelo en una GPU un día que hay mucha demanda, no puedas conseguir acceder a una.
¿Lo mejor?
Combinar ambos 🙂
Así que...
¿No sería maravilloso poder utilizar los datasets de Kaggle directamente en Google Colab?
Para generar un API token lo único que tienes que hacer es tener una cuenta en Kaggle.
Una vez estés dado de alta y desde la sección de ajustes podrás crear un nuevo token que se descargará automáticamente en tu ordenador como kaggle.json
El siguiente paso será crear en tu Google Drive una carpeta que se llame Kaggle y subir el fichero kaggle.json
que te acabas de descargar.
A partir de ahí puedes crear un nuevo Notebook de Google Colab en el que vayas a trabajar con esos datos o puedes tener uno específico para descargarte datasets de Kaggle.
Como tú prefieras.
En ese Notebook de Google Colab tienes que montar to Google Drive para poder acceder a los datos desde Google Colab.
from google.colab import drive drive.mount('/content/gdrive')
En ese momento te aparecerá una ventana pidiendo autorización para poder acceder a tus ficheros de Google Drive desde el Notebook de Colab.
Sigue el proceso de autorización.
El siguiente paso es indicar la ruta en la que se encuentra guardado API token de Kaggle que hemos subido antes kaggle.json
al archivo de configuración.
Recuerda que estaba en tu drive y en la carpeta Kaggle: /MyDrive/Kaggle
import os os.environ['KAGGLE_CONFIG_DIR'] = "/content/gdrive/MyDrive/Kaggle" # Aquí puedes volver al directorio en el que estabas trabajando. En mi caso es la carpeta Colab Notebooks %cd /content/gdrive/My Drive/Colab Notebooks/Tutoriales
Busca en Kaggle el dataset con el que quieres trabajar en Google Colab.
En mi caso será un datasets de los precios de la vivienda en California 🏠.
Y copia el comando.
A partir de ahí sólo tienes que volver a tu cuaderno de Google Colab y pegarlo.
⚠️ No olvides poner el signo de exclamación antes del comando (!
) para que funcione en Google Colab
!kaggle datasets download -d camnugent/california-housing-prices
El fichero se descargará comprimido en la carpeta en la que estás trabajando (yo estoy trabajando en /My Drive/Colab Notebooks/Tutoriales
)
Ahora solo tienes que descomprimirlo...
!unzip california-housing-prices.zip
¡Y a funcionar! 😊
import pandas as pd housing_data = pd.read_csv('housing.csv')