8.1.5 Extensiones

8.1.5 Extensiones

El ecosistema de Jupyter Notebook es muy amplio y ofrece una gran variedad de extensiones que se pueden incluir en la instalación que tengamos: Unofficial Jupyter Notebook Extensions.

Su instalación es tan sencilla como:

8.1.5 Extensiones

8.1.6 Otros entornos

El ecosistema de entornos para trabajos en ciencia de datos ha ido ampliándose durante estos últimos años con la explosión del «BigData» y la inteligencia artificial. En este apartado veremos otras plataformas que también nos permiten usar Python enfocado al análisis de datos.

JupyterLab

JupyterLab es una evolución de Jupyter Notebook. Entre sus mejoras podemos destacar:

  • Explorador de ficheros integrado en la barra lateral.
  • Posibilidad de abrir múltiples .ipynb al mismo tiempo usando pestañas.
  • Posibilidad de abrir múltiples terminales.
  • Editor integrado para cualquier fichero de texto.
  • Vista previa en tiempo real de documentos markdown o csv.

8.1.5 Extensiones

Figura 12: Pantalla inicial de JupyterLab

Su instalación se lleva a cabo como cualquier otro paquete Python:

8.1.5 Extensiones

Para ejecutar la aplicación:

8.1.5 Extensiones

Google Colab

Google Colab es un entorno de computación científica creado por Google y disponible en su nube. Como era previsible, para su uso es necesario disponer de una cuenta en Google.

8.1.5 Extensiones

Figura 13: Pantalla inicial de Google Colab

Características:

  • Tiene un comportamiento totalmente análogo a Jupyter en cuanto a comportamiento y funcionalidades.
  • Completamente en la nube. No necesita instalación ni configuración.
  • Por defecto trae multitud de paquetes instalados, principalmente en el ámbito científico: 386 paquetes (febrero de 2022).
  • Versión de Python: 3.7.12 (febrero de 2022).
  • Espacio en disco sujeto a las características de Google Compute Engine: 107.72GB (febrero de 2022)
  • Memoria RAM sujeta a las características de Google Compute Engine: 12.69GB (febrero de 2022)
  • Acceso limitado al sistema operativo.
  • En cuentas gratuitas, los tiempos de cómputo son, por lo general, mayores que en una máquina local.4
  • Previsualización markdown en tiempo real sobre cada celda.
  • Posibilidad de subir ficheros de datos propios en carpetas accesibles por el cuaderno.
  • Posibilidad de ejecutar Jupyter «notebooks» propios.
  • Posibilidad (limitada) de acelerar cálculos usando GPU o TPU.
  • Posibilidad de descargar el cuaderno como Jupyter «notebook» o archivo de Python.
  • Índice de contenidos integrado en barra lateral.
  • Inspector de variables integrado en barra lateral.

Kaggle

Kaggle es una plataforma que no sólo ofrece un entorno de trabajo para cuadernos Jupyter sino también una enorme colección de conjuntos de datos de libre acceso. Para su uso es necesario disponer de una cuenta en el servicio.

8.1.5 Extensiones

Figura 14: Pantalla inicial de Kaggle

Características:

  • Tiene un comportamiento totalmente análogo a Jupyter en cuanto a comportamiento y funcionalidades.
  • Completamente en la nube. No necesita instalación ni configuración.
  • Por defecto trae multitud de paquetes instalados, principalmente en el ámbito científico: 792 paquetes (febrero de 2022).
  • Versión de Python: 3.7.12 (febrero de 2022).
  • Espacio en disco sujeto a las características de Kaggle: 73.1GB (febrero de 2022)
  • Memoria RAM sujeta a las características de Kaggle: 16GB (febrero de 2022)
  • Acceso limitado al sistema operativo.
  • En cuentas gratuitas, los tiempos de cómputo son, por lo general, mayores que en una máquina local.4
  • Posibilidad de subir ficheros de datos propios sólo como «datasets» de Kaggle.
  • Posibilidad de ejecutar Jupyter «notebooks» propios.
  • Posibilidad (limitada) de acelerar cálculos usando GPU o TPU.
  • Posibilidad de descargar el cuaderno como Jupyter «notebook».

Comparativa

Haremos una comparativa de tiempos de ejecución lanzando una FFT sobre una matriz de 1 millón de elementos:

8.1.5 Extensiones

Obviamente se trata de una ejecución puntual y no podemos sacar conclusiones claras al respecto. Además de ello depende del «hardware» sobre el que estemos trabajando. En cualquier caso el propósito es únicamente tener una ligera idea de los órdenes de magnitud.

Publicaciones Similares