Actualización instalación NILMTK


Non-Intrusive Load Monitoring (NILM), o desagregación no intrusiva de la demanda, es una técnica computacional que estima el consumo individual de diversos dispositivos utilizando la lectura agregada de un único medidor de energía (Smart Meter, SM). Esta técnica ha ganado relevancia en el ámbito de las Smart Grids debido a sus ventajas en instalación, coste e implementación, permitiendo estimar los hábitos de consumo sin necesidad de desplegar contadores inteligentes en cada punto de consumo.

En este contexto, se utiliza una herramienta de software libre llamada NILMTK para desagregar el consumo energético asi como comparar los resultados según el algoritmo que utilizamos. NILMTK permite recolectar datos del consumo centralizado y crear un nuevo dataset que puede ser analizado para visualizar datos de potencia en un periodo determinado u obtener estadísticas de energía.

Durante la etapa de preprocesamiento, se toman decisiones basadas en los análisis realizados para preparar los datos para el entrenamiento de los modelos de desagregación. El entrenamiento de un modelo implica enseñarle a reconocer las características de los dispositivos por separado para luego identificarlos en una señal agregada. Los algoritmos utilizados en el entrenamiento incluyen Combinatorial Optimization (CO) y Factorial Hidden Markov Model (FHMM).

2024 04 06 20 22 26 Monitorización de consumo energético con Raspberry pi   Buscar con Google y 5 pá

Instalación bajo windows

Básicamente aunque NILMTK se puede instalar muy fácilmente en sistemas basados en Linux , es posible instalarlo también desde Windows 11 . Resumidamente necesitaremos instalar Anaconda ( y Git si no lo tiene instalado ) y realizar la identificación de la carga, encontrar el paquete de instalación de NILMTK y registrar el proceso deliberadamente.

Recientemente han desplegado nuevas versiones de Anaconda, motivo por lo que ha cambiado ligeramente el proceso de instalación de NILMTK.

Nos vamos a https://www.anaconda.com/download-success

Vamos a Resources–>Libraries&Packages–>Free Download

En esta nueva versión nos piden una dirección de correo electrónico para realizar la instalación (sin ella no dejan descargarla). En cuanto la hayamos cumplimentado procederá a descargarse el auto instalador que solo hay que seguir al modo tradicional hasta finalizar el proceso.

La versión ultima a fecha de esta publicación es 2024.10-1 (64-bit)

La instalación se hará en c:\users\usuario\anaconda3 y ocupa unos 5,2GB ( casi el doble que versiones anteriores). Importante: a la hora de Registrar Anaconda3 y mantener por defecto Python 3.8, a menos que planee instalar y ejecutar múltiples versiones de Anaconda o múltiples versiones de Python, acepte el valor predeterminado y deje esta casilla marcada.

Haga clic en el botón Instalar. Si desea ver los paquetes que está instalando Anaconda, haga clic en Mostrar detalle.

Si desea leer más sobre Anaconda.org y cómo comenzar con Anaconda, marque las casillas “Tutorial de Anaconda Edición Individual” y “Aprenda más sobre Anaconda”. Haga clic en el botón Finalizar.

Verifique su instalación ( Si está detrás de un proxy de la empresa, es posible que deba realizar una configuración adicional).

2021 10 18 10 58 05 anaconda   individual edition y 4 paginas mas personal  microsofte2808b edge

Finalizada la instalación , abra una ventana de terminal de conda (desde Windows en el buscador ponga «anaconda prompt») , crearemos un nuevo entorno de Conda y lo activaremos con los comandos:

conda create --name nilmtk-env 

Si aún no está presente en su instalación de Conda, agregue el conda-forge a la lista de canales:


conda config --add channels conda-forge

Ahora cargar el entorno recién creado:

conda activate nilmtk-env

Finalmente, instale la última versión de NILMTK de conda-forge :

conda install -c nilmtk nilmtk=0.4.3

Observe que el signo igual no lleva espacios (piense que estamos usando Python). La ejecución del comando puede tardar un rato. Mientras tanto, consulte otros paquetes en Forge de NILMTK .

Esto instalará la última versión de nilmtk. A partir de junio de 2023 es la última versión si nilmtk 0.4.3. Puedes usar de forma equivalente conda install -c nilmtk nilmtk=0.4.3. Para versiones anteriores, puede que necesite especificar versiones para otros paquetes con el fin de obtener un entorno de trabajo. Por ejemplo, para NILMTK v0.4.1, use conda install -c nilmtk nilmtk=0.4.1 matplotlib=3.1.3. Debe tenerse en cuenta que a partir de junio de 2023 la única versión disponible en los canales de anaconda.org es la versión 0.4.3, los intentos de instalar una versión anterior pueden dar lugar a errores como «PackageNotFoundError» en el terminal.

Como puede experimentar algunos problemas posteriores a la instalación con NILMTK y Matplotlib., para solucionarlos, puede aplicar el comando:

conda install matplotlib 

Para verificar que Matplotlib está instalado, intente invocar la versión de Matplotlib en Python REPL. Use desde el interprete Python los comandos a continuación que incluyen llamar a .__ version__, un atributo común a la mayoría de los paquetes de Python.

>>> import matplotlib

>>> matplotlib.__version__

Ejemplo de salida:

(nilmtk-env) C:\Users\carlo>python
Python 3.6.13 (default, Sep 7 2021, 06:39:02) [MSC v.1916 64 bit (AMD64)] on win32
Type “help”, “copyright”, “credits” or “license” for more information.
import matplotlib
matplotlib.version
‘3.1.3’

Agregar un kernel de Jupyter

Básicamente, NILMTK ahora está instalado en su ordenador. El siguiente paso involucra los cuadernos de Jupyter. Trabajar con Jupyter abre muchas posibilidades y se dice que es una herramienta imprescindible. Por lo tanto, agregue el entorno NILMTK a Jupyter:

python -m ipykernel install --user --name nilmtk-env --display-name "Python (nilmtk-env)"

INSTALACION NILM_METADATA

Es muy probable que se necesite esta libreria complementaria. Si recibe el error de que el módulo nilm_metadata no está instalado en tu entorno de Python, para resolver este problema, puedes intentar instalar el módulo nilm_metadata utilizando pip.

Aquí tienes los pasos que puedes seguir:

1-Abre tu terminal o línea de comandos. Activa tu entorno de conda nilmtk-env si no lo has hecho ya:

conda activate nilmtk-env

2-Instala el módulo nilm_metadata utilizando pip:

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

Después de ejecutar estos comandos, intenta ejecutar tu código nuevamente. Esto debería resolver el error ModuleNotFoundError: No module named ‘nilm_metadata’12.

Si tienes alguna otra pregunta o necesitas más ayuda, ¡no dudes en decírmelo

PRUEBA DEL ENTORNO

La importación del paquete instalado para python/ ipython puede probarse en el terminal utilizando el siguiente comando:

python -c "import nilmtk"

o

ipython -c "import nilmtk"

Nota: Esto podría mostrar DepreciationWarning debido al módulo imp. Esto se solucionará en una futura versión.

Alternativamente, también puede ejecutar su IDE en nilmtk-env desde: Anaconda Navigator > «Aplicaciones en» desplegable > nilmtk-env.

Para comprobar las variables de entorno actuales,

 import sys
print(sys.executable)
print(sys.version)

Verás una salida similar a:

 /home/ayush/anaconda3/envs/nilmtk-env/bin/python
 3.6.7 | packaged by conda-forge | (default, Feb 28 2019, 09:07:38) 
 [GCC 7.3.0]

Ejecute su IDE de Python desde este entorno, por ejemplo:

jupyter notebook  o   spyder

Importar NILMTK en el IDE:

import nilmtk

Ya se pueden utilizar los módulos del paquete.

Para desactivar este entorno,

conda deactivate

Le recomendamos que consulte la documentación de Anaconda sobre entornos si el concepto es nuevo para usted.

Problemas

Si al ejecutar un cuaderno en Jupyter da error puede que el error está relacionado con la falta de un archivo DLL necesario para la biblioteca ctypes. Aquí tienes algunos pasos que podrías seguir para intentar resolver este problema:

  1. Reinstala Anaconda: A veces, la reinstalación de Anaconda puede solucionar problemas con archivos DLL faltantes.conda install anaconda
  2. Verifica la instalación de libffi: La biblioteca ctypes depende de libffi. Asegúrate de que esté instalada:conda install libffi
  3. Reinstala ctypes: Intenta reinstalar la biblioteca ctypes:conda install -c anaconda ctypes
  4. Revisa la integridad de los archivos DLL: Asegúrate de que los archivos DLL necesarios estén presentes en el directorio correcto. Puedes buscar los archivos libffi-7.dlllibffi-8.dll, y vcruntime140.dll en tu instalación de Anaconda y copiarlos al directorio Library/bin.
  5. Actualiza Anaconda y Conda: Asegúrate de tener la última versión de Anaconda y Conda:conda update conda conda update anaconda
  6. Crea un nuevo entorno: Si el problema persiste, intenta crear un nuevo entorno y reinstalar las bibliotecas necesarias:conda create -n nuevo_entorno python=3.9 conda activate nuevo_entorno conda install -c conda-forge matplotlib pandas jupyter

¿Y si persiste el error?

Si el problema persiste con la carga de la biblioteca ctypes. Aquí tienes algunos pasos adicionales que podrías intentar:

  1. Verifica la presencia de los archivos DLL necesarios: Asegúrate de que los archivos libffi-7.dlllibffi-8.dll, y vcruntime140.dll estén presentes en el directorio Library/bin de tu instalación de Anaconda. Si no están, puedes intentar copiarlos manualmente desde otra instalación de Anaconda o descargarlos.
  2. Reinstala ctypes y libffi: Intenta reinstalar las bibliotecas ctypes y libffi:conda install -c anaconda ctypes conda install -c anaconda libffi
  3. Reinstala Visual C++ Redistributable: Asegúrate de tener instalada la última versión de Microsoft Visual C++ Redistributable, ya que vcruntime140.dll es parte de este paquete. Puedes descargarlo desde aquí.
  4. Reinstala Anaconda: Si los pasos anteriores no funcionan, considera desinstalar y reinstalar Anaconda completamente. Asegúrate de eliminar todos los archivos residuales antes de reinstalar.
  5. Usa una instalación limpia de Python: Si el problema persiste, podrías intentar usar una instalación limpia de Python en lugar de Anaconda. Descarga Python desde python.org e instala las bibliotecas necesarias usando pip:pip install matplotlib pandas jupyter

Deja un comentario

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