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!

Anuncio publicitario

Instalacion de NILMTK en Linux


Recomendamos usar Anaconda , que agrupa la mayoría de los paquetes necesarios. Recomendamos Anaconda para Python 3.6.x ya que Python 2.7 pronto dejará de ser compatible.

Después de instalar Anaconda, haga lo siguiente en caso de que el equipo tenga Linux u OSX

Pyton 3

En Ubuntu, ejecútelo sudo apt-get install python3-tk antes de intentar instalar NILMTK para Python 3.

Instalar en Ubuntu como variantes de Linux (basado en Debian) u OSX

NB: El siguiente procedimiento es para variantes de Linux similares a Ubuntu (basadas en Debian). Adáptese en consecuencia para su sistema operativo. También recibiríamos instrucciones de instalación para otros sistemas operativos.

Procedimiento de instalación experimental pero probablemente más fácil para Unix u OSX

En esta sección describiremos un procedimiento de instalación rápido y simple, pero poco probado. . Las instrucciones antiguas de Unix y OSX están más abajo en esta página si necesita probarlas.

Instale git, si es necesario:

sudo apt-get install git

Descargar NILMTK:

cd ~
git clone https://github.com/nilmtk/nilmtk.git
cd nilmtk

El siguiente paso usa conda-env para instalar un entorno para NILMTK, usando el archivo de environment.ymltexto de NILMTK para definir qué paquetes deben instalarse:

conda env create
source activate nilmtk-env

A continuación, instalaremos nilm_metadata (aún no se puede instalar usando pip / conda):

cd ~
git clone https://github.com/nilmtk/nilm_metadata/
cd nilm_metadata; python setup.py develop; cd ..


Vuelva a cambiar a su directorio nilmtk e instale NILMTK:

cd  ~/nilmtk
python setup.py develop

Ejecute las pruebas unitarias:

nosetests

Luego, trabaje en NILMTK :). Cuando haya terminado, simplemente haga source deactivatepara desactivar el nilmtk-env.

Antiguo procedimiento de instalación para Unix u OSX

  • Actualizar anaconda
conda update --yes conda
  • Instalar bibliotecas HDF5 y python-dev
sudo apt-get install libhdf5-serial-dev python-dev
  • Instalar cliente git
sudo apt-get install git
  • Instale pip y otras dependencias que podrían faltar en Anaconda
conda install --yes pip numpy scipy seis scikit-learn pandas numexpr
pytables dateutil matplotlib networkx futuro

Tenga en cuenta que, si está utilizando pipen lugar de conda, elimine dateutily reemplace pytablescontables .

Tenga en cuenta también que hay un error en Pandas 0.17 que causa problemas graves con los datos donde el índice de fecha y hora cruza un límite de horario de verano. Como tal, no instale Pandas 0.17 para usar con NILMTK. Pandas 0.17.1 se lanzó el 20 de noviembre de 2015 e incluye una solución para este error. Asegúrese de instalar Pandas 0.17.1 o superior.

git clone https://github.com/nilmtk/nilm_metadata/
cd nilm_metadata
python setup.py develop
cd ..
  • Instale psycopg2 Primero necesita instalar Postgres:
sudo apt-get install postgresql postgresql-contrib
sudo apt-get install postgresql-server-dev-all
pip instalar psycopg2
  • Varios instalaciones pip
pip install nose coveralls coverage git+https://github.com/hmmlearn/[email protected]#egg=hmmlearn
  • ¡Por fin! Instalar NILMTK
git clone https://github.com/nilmtk/nilmtk.git
cd nilmtk
python setup.py develop
cd..
  • Si lo desea, también puede ejecutar pruebas NILMTK para asegurarse de que la instalación se haya realizado correctamente.
cd nilmtk
nosetest




Fuente https://github.com/nilmtk/nilmtk/blob/e5cc77e560d2520861a7ce3aec1f6feda4441c9e/docs/manual/user_guide/install_dev.md#install-on-ubuntu-like-linux-variants-debian-based-or-osx