Instalación desde cero de nilmtk en Ubuntu sin conda


El NILM o Non-Intrusive Load Monitoring es una técnica computacional para la estimación del consumo individual de diversos dispositivos utilizando para ello la lectura agregada de un único medidor de energía (Smart Meter, SM) . NILMTK es un kit de herramientas de código abierto para el monitoreo de carga no intrusivo (Non-Intrusive Load Monitoring) muy usada en investigación ya que nos permite usando las mismas métricas comparar el rendimiento de diferentes algoritmos para el NILM.

En este post, instalaremos la versión de usuario de NILMTK concretamente en una instalación limpia de Ubuntu20.04.5 LTS, aunque realmente también podria ser útil en sistemas Mac OS y otras distribuciones de Linux. Igualmente el procedimiento de instalación para Windows puede diferir del que se presenta en esta entrada de blog.

Anaconda es una distribución libre y abierta de los lenguajes Python y R, utilizada en ciencia de datos y aprendizaje automático (machine learning). Esto incluye procesamiento de grandes volúmenes de información, análisis predictivo y cómputos científicos . Tiene como ventaja simplificar la gestión e implementación de paquetes  de modo que la instalación de NILMTK se debería poder hacer por medio de Conda, pero en esta ocasión vamos a prescindir de este servicio, básicamente para evitar muchos errores que se pueden producir en el transcurso de la instalación con Conda en máquinas con Linux, fundamentalmente por la gran dependencia del NILMK con la versión de Python 3.8 ( al instalar Anaconda se sube automáticamente a la versión 3.9 de Python, la cual da problemas con nilmtk que usa Python 3.8.10)

Instalación del git

Dado que hemos decidido prescindir de los servicios de conda , en una instalación limpia de Ubuntu es posible que el git y el comando pip no estén instalados, los cuales vamos a necesitar para instalar nilmtk.

Para instalar Git en Ubuntu, puede usar la línea de comandos y seguir estos pasos:

  • Abre una ventana de terminal (puedes abrir una ventana de terminal presionando Ctrl + Alt + T en su teclado).
  • Actualiza la lista de paquetes ejecutando el siguiente comando para actualizar la lista de paquetes: sudo apt-get update
  • Instale Git una vez que se haya actualizado la lista de paquetes, ejecutando el siguiente comando : sudo apt-get install git
  • Este comando descargará e instalará la última versión de Git en tu sistema.Verifique la instalación para comprobar que Git se ha instalado correctamente, ejecutando el siguiente comando:git –version (este comando debería imprimir el número de versión de Git instalado en su sistema).

Instalación de Jupyter Notebook

Para instalar Jupyter Notebook en Ubuntu, siga los siguientes pasos:

  1. Abra la terminal de Ubuntu presionando Ctrl + Alt + T o buscándola en el menú de aplicaciones.
  2. Asegúrese de que su sistema esté actualizado usando el siguiente comando:
sudo apt-get update
  1. Instale Python y pip usando el siguiente comando:
sudo apt-get install python3 python3-pip
  1. Luego, use pip para instalar Jupyter Notebook con el siguiente comando:
sudo -H pip3 install jupyter
  1. Una vez instalado, inicie Jupyter Notebook ejecutando el siguiente comando en la terminal:
jupyter notebook
  1. Esto abrirá Jupyter Notebook en su navegador predeterminado. Si esto no ocurre automáticamente, puede acceder a él en su navegador en la dirección http://localhost:8888.
Photo by Frank Cone on Pexels.com

Instalacion nilmtk

Ya tenemos todas las herramientas disponibles , por lor uqepodemos instalar el repositorio de nilmtk

pip install git+https://github.com/nilmtk/nilmtk

Como vemos tampoco es de una complejidad abrumadora la instalación sin conda, lo qeu nos posibilita repetir la instalacion en maquinas menos potentes como por ejemplo Raspberry Pi

Para terminar también nos falta añadir el paquete de gestión de los metadatos, lo cual haremos mediante el paquete nilm_metadata con el git, pero tenga en cuenta que la versión de Python debe ser exactamente la 3.8o la 3.9 . Además, tiene que instalar nilmtk-metadata de la siguiente manera para lo cual ejecute el siguiente comando:

pip install git+https://github.com/nilmtk/[email protected]

La instrucción «pip install git+https://github.com/nilmtk/[email protected]» es un comando de la línea de comandos que utiliza la herramienta pip para instalar el paquete «nilm_metadata» desde el repositorio de código fuente alojado en GitHub.

En particular, el «@0.2» indica que se debe instalar la versión 0.2 del paquete.

El paquete «nilm_metadata» es una biblioteca de Python utilizada para describir los metadatos asociados a los datos de consumo de energía eléctrica utilizados en el desagregación de cargas no intrusiva (NILM). El comando «pip install» se utiliza comúnmente en Python para instalar paquetes y dependencias necesarias para que una aplicación o biblioteca funcione correctamente.

Ciertamente aunque algunos expertos recomiendan la versión anterior, personalmente preferimos la siguiente sentencia algo mas simplificada y que funciona también perfectamente.

pip install git+https://github.com/nilmtk/nilm_metadata

Pruebas

Ha llegado el momento de comprobar su instalación. Antes que nada, cree una nueva carpeta y descargue el conjunto de pruebas aleatorias de Github:

mkdir nilmtk_test/
cd nilmtk_test/
wget https://raw.githubusercontent.com/nilmtk/nilmtk/master/data/random.h5

A continuación, arranque Jupyter:

jupyter notebook

Para probar la instalación, intente importar el conjunto de datos aleatorio con NILMTK y trace todos los medidores:

El resultado debe ser:

MeterGroup(metros=
ElecMeter(instance=1, building=1, dataset=None, appliances=[])
ElecMeter(instance=2, building=1, dataset=None, appliances=[])
ElecMeter(instance=3, building=1, dataset=None, appliances=[])
ElecMeter(instance=4, building=1, dataset=None, appliances=[])
ElecMeter(instance=5, building=1, dataset=None, appliances=[])
)

¡Felicidades! Lo ha logrado. ¡NILMTK parece funcionar según lo previsto!

Alternativas a Windows


Normalmente todos tenemos equipos con Windows que aun funcionando satisfactoriamente no responden adecuadamente con soltura en el uso cotidiano ( lentitud en la navegacion, dada la gran voracidad de recursos que se necesitan en W11 ( y anteriores). De un modo similar también contamos con equipos con licencias antiguas de W7 o W8 ( incluso W11) que perdieron la oportunidad de actualizarse gratuitamente a W11.

Si bien ampliar RAM y cambiar el disco de arranque por un SSD suele dar buenos resultados con placas madres antiguas o viejos procesadores esto no mejora casi nada su funcionalidad. Para todos estos casos, una opción muy interesante, es instalar una distribución de Linux que haga un uso menos intensivo de los recursos hw de nuestro equipo para intentar alargar su vida útil, pero como las opciones son casi ilimitadas en el mundo de las distros Linux, si nos podemos a recomendar todas las que nos parezcan decentes, no terminaríamos nunca, y con demasiadas opciones llega la parálisis por análisis. Estas cuatro que hemos descrito son todas bastante robustas y una buena alternativa a Windows en todas sus versiones.

Linux Lite

Linux Lite es una distribución que se marca dos grandes metas y cumple con creces en ambas: ser amigable con los usuarios inexpertos y lo bastante liviana como para dar vida a PCs que no estén a la última en hardware (aunque, eso sí, eliminó hace dos años el soporte para hardware de 32 bits).

Creada por el desarrollador neozelandés Jerry Bezencon en 2012, su objetivo original fue servir de refugio a usuarios de Windows XP que buscaban una interfaz más ‘windows’ que la de Ubuntu (la cual había adoptado meses antes el polémico entorno Unity, frente al XFCE por el que apostaba y sigue apostando Lite) y cuyos equipos no eran capaces de ejecutar con soltura alternativas como Linux Mint.

Guiada por su eslogan «Simple, fast, free«, esta distribución basada en Ubuntu LTS (las versiones de Ubuntu con soporte a largo plazo) acaba de lanzar su versión 5.0, con la que aspira ahora a llegar a los usuarios que aún se aferran al vetusto Windows 7 aun tras haber dejado de recibir soporte oficial. Ya la nota de prensa de la penúltima versión, la 4.8, apuntaba hacia esos usuarios:

«Querríamos aprovechar esta oportunidad para dar la bienvenida a toda la gente que ha llegado aquí procedente de Windows 7 para encontrar una alternativa simple, rápida y gratuita al mismo.

Si no quieres actualizar a Windows 10, aquí tienes algunas distros Linux para reemplazar Windows 7

Linux Lite facilita la transición a un sistema operativo basado en Linux al ofrecer un paquete completo de Office compatible con Microsoft, acompañado de software familiar para el usuario (Firefox, Chrome, Teamviewer, VLC…); nuestro escritorio se presenta igual que en Windows con un menú de inicio a la izquierda y una bandeja a la derecha con opciones de volumen, red y calendario».

Otras aplicaciones familiares que integra son Dropbox (almacenamiento en la nube), Telegram (mensajería instantánea), GIMP (edición de imágenes). Los usuarios ajenos al ‘mundillo’ Linux no conocerán FireWallD, pero es el cortafuegos incluido por defecto a partir de esta última versión de Linux Lite, en sustitución de GUFW.

Whiskermemu

El nuevo menú ‘WhiskerMenu’, novedad de Linux Lite 5.0.

También trae instalado Nitroshare, que permite que nuestro equipo comparta rápidamente información con otros PCs de la misma red local (aunque no usen Linux).

Especificaciones mínimas recomendadas:

  • Procesador de 1 Ghz.
  • 768 Mb de RAM.
  • 8 Gb HDD / SD.
  • Pantalla VGA con resolución 1024×768.
  • Unidad de DVD o puerto USB para instalar la imagen ISO.

Especificaciones preferidas:

  • Procesador de más de 1.5 GHz.
  • Más de 1024 Mb de RAM.
  • HDD / SSD de más de 20 Gb.
  • Pantalla VGA, DVI o HDMI con capacidad de resolución de más de 1366×768.
  • Unidad de DVD o puerto USB para instalar la imagen ISO.

Linux Mint

Esta es quizás la distro más conocida por amigable detrás de Ubuntu, la diferencia es que el entorno de escritorio de Linux Mint actualmente es más cómodo de usar para alguien que viene de algo como Windows 7 que el GNOME que usa Ubuntu, y que podría convertirse rápidamente en un dolor gonadal que además consume recursos en exceso.

Con Linux Mint y el escritorio Cinnamon te vas a encontrar en un entorno relativamente familiar y a la vez lleno de cosas nuevas que explorar. El sistema incluye la mayoría de herramientas básicas necesarias para navegar, reproducir contenido multimedia y editar documentos. No es necesario usar la terminal para prácticamente nada y tienes un centro de software en donde buscar aplicaciones.

Solo tienes que tener en cuenta que con esta o cualquier otra distro, vas a tener que adaptarte a la ausencia de alguno que otro producto de software, especialmente de Microsoft Office, que si bien tienes alternativas como LibreOffice ya instalado, no será lo mismo. Dependerá de cada caso particular que tanto problema sea esto.

Ubuntu Mate

Ubuntu MateUbuntu Mate

Llevas años escuchando sobre Linux y Ubuntu como sinónimos, y te parece que si es el nombre más famoso debe ser el mejor, no te vamos a culpar. Ubuntu también es una excelente opción, pero Ubuntu no hay solo uno sino varios sabores. El Ubuntu «por defecto» usa GNOME como entorno, y es uno que es muy demandante en recursos y muy diferente a lo que conoces de Windows 7.

Por recomendariamo que si quiere un Ubuntu opts por uno como el buen Ubuntu Mate una versión que se parece más a Linux Mint y que también está pensada para consumir menos recursos que algo con GNOME, y que usa un manejo de ventanas más parecido a lo que usas en Windows, pero sin limitanos a ello gracias a las diferentes opciones que ofrece.

Elementary OS

Elementary Os

Si bien con elementary OS  vamos a conseguir un escritorio un tanto diferente y más parecido a macOS que a Windows, el choque no es realmente fuerte por la simplicidad de la interfaz y lo fácil que es aprender a moverse en el espacio de trabajo.

En comparación con las otras opciones, elementary OS también goza de un consumo de recursos reducido, y además tiene un centro de software cargado de aplicaciones interesantes para resolver muchas necesidades. Es quizás una opción con una curva de aprendizaje mayor, pero si te llama la atención su apariencia, podrías darla una oportunidad.

Nota: el precio sugerido al comprar es solo eso, una sugerencia, puede pagar lo que quiera o nada por la distro.

He intentado usar Linux como mi sistema principal y elementary OS Hera es lo más cerca que he estado de lograrlo

Zorin OS

Zorin OsZorin OS

A Zorin OS hay que destacarla porque uno de sus objetivos principales siempre ha sido el ofrecer un sistema que cause la menor cantidad de fricción para alguien que no quiere algo demasiado diferente a Windows. Además, su última versión ofrece un extra importante y es una gran integración con Android.

Sus requerimientos de hardware son muy bajos. Con 2GB de RAM y un procesador Dual Core de 1 GHz te basta en la versión normal, pero incluso puedes usarla en un ordenador con apenas 512 MB de RAM, 8 GB de espacio de almacenamiento y un absurdo procesador de un solo núcleo a 700 MHz, en su versión Lite, algo casi inconcebible en el año 2020.

Zorin OS tiene varias versiones, la más completa es la Ultimate, pero esa cuesta 39 euros. Si quieres la versión básica con todo lo necesario y la interfaz más parecida a Windows 7, descarga gratis Zorin OS Core, o Zorin OS Lite para los ordenadores de muy pocos recursos.

  • Descargar Zorin OS

Si es usted un poco más aventurero, podría probar con otro par de distros amigables como ManjaroKDE Neon, o incluso Fedora.