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!

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.