Instalación NILMTK en Windows

Aunque NILMTK se puede instalar muy facilmente en sistemas basados en Linux , es posible instalarlo tambien desde windows . Basicamente 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.

Instalación de GIT Windows

Hay varias maneras de instalar Git en Windows. La forma más oficial está disponible para ser descargada en el sitio web de Git. Solo tiene que visitar http://git-scm.com/download/win y la descarga empezará automáticamente. Observe que éste proyecto conocido como Git para Windows (también llamado msysGit), es diferente de Git «normal». Para más información acerca de este proyecto visita http://msysgit.github.io/.

Otra forma de obtener Git fácilmente es mediante la instalación de GitHub para Windows. El instalador incluye la versión de línea de comandos y la interfaz de usuario de Git. Además funciona bien con Powershell y establece correctamente «caching» de credenciales y configuración CRLF adecuada. Puede descargar este instalador del sitio web de GitHub para Windows en http://windows.github.com.

Instalación de Anaconda

  • Descargar el instalador de Anaconda . Nos recomiendan que  verifiquemos la integridad de los datos con SHA-256 .
  • Haga doble clic en el instalador para iniciar.Para evitar errores de permisos, no inicie el instalador desde la carpeta Favoritos .Si tiene problemas durante la instalación, desactive temporalmente su software antivirus durante la instalación y vuelva a activarlo una vez que concluya la instalación. Si instaló para todos los usuarios, desinstale Anaconda y vuelva a instalarlo solo para su usuario y vuelva a intentarlo.
  • Haga clic en Siguiente.
  • Lea los términos de la licencia y haga clic en «Acepto».
  • Seleccione una instalación para «Solo yo» a menos que esté instalando para todos los usuarios (lo que requiere privilegios de administrador de Windows) y haga clic en Siguiente.
  • Seleccione una carpeta de destino para instalar Anaconda y haga clic en el botón Siguiente. Nota: Instale Anaconda en una ruta de directorio que no contenga espacios ni caracteres Unicode..No lo instale como administrador a menos que se requieran privilegios de administrador.
  • Elija si desea agregar Anaconda a su variable de entorno PATH. Se Recomienda no agregar Anaconda a la variable de entorno PATH, ya que esto puede interferir con otro software. En su lugar, use el software Anaconda abriendo Anaconda Navigator o Anaconda Prompt desde el menú Inicio.
  • Elija si desea registrar Anaconda como su Python predeterminado. 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 detalles.
  • Haga clic en el botón Siguiente.
  • Opcional: para instalar PyCharm para Anaconda, haga clic en el enlace a https://www.anaconda.com/pycharm .
  • O para instalar Anaconda sin PyCharm, haga clic en el botón Siguiente.
  • Después de una instalación exitosa, verá el cuadro de diálogo «Gracias por instalar Anaconda»:
  • 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 .Nota: Si está detrás de un proxy de la empresa, es posible que deba realizar una configuración adicional.

Instalación manual del NILMTK

Suponiendo que Anaconda se ha instalado en esa máquina, el entorno es Python3 y la dirección del proyecto del paquete NILMTK es: https://github.com/nilmtk/nilm_metadata/ , Como se supone tenemos instalado el comando git para descargar los recursos de git, en primer lugar descargaremos nilmtk con Git usando el siguiente comando:

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

Y este seria el resultado:

C:\Users\carlo\anaconda3>git clone https://github.com/nilmtk/nilmtk.git
Cloning into 'nilmtk'…
remote: Enumerating objects: 12331, done.
remote: Counting objects: 100% (121/121), done.
remote: Compressing objects: 100% (72/72), done.
remote: Total 12331 (delta 69), reused 84 (delta 48), pack-reused 12210
Receiving objects: 100% (12331/12331), 51.87 MiB | 6.81 MiB/s, done.
Resolving deltas: 100% (8775/8775), done.

Encontrará la carpeta nilmtk-metadata en el directorio y hay un archivo setup.py. Cambie a este directorio y luego instale, el comando es:

python setup.py develop

Resultado de ejecucion del comando;

C:\Users\carlo\anaconda3\nilmtk>python setup.py develop
running develop
running egg_info
creating nilmtk.egg-info
writing nilmtk.egg-info\PKG-INFO
writing dependency_links to nilmtk.egg-info\dependency_links.txt
writing requirements to nilmtk.egg-info\requires.txt
writing top-level names to nilmtk.egg-info\top_level.txt
writing manifest file 'nilmtk.egg-info\SOURCES.txt'
reading manifest file 'nilmtk.egg-info\SOURCES.txt'
writing manifest file 'nilmtk.egg-info\SOURCES.txt'
running build_ext
Creating c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\nilmtk.egg-link (link to .)
Adding nilmtk 0.4.0.dev1+git.45a50c8 to easy-install.pth file
Installed c:\users\carlo\anaconda3\nilmtk
Processing dependencies for nilmtk==0.4.0.dev1+git.45a50c8
Searching for matplotlib==3.1.3
Reading https://pypi.org/simple/matplotlib/
Downloading https://files.pythonhosted.org/packages/be/74/24d058c17b155d131359f1cd01e120b3954686bf8b7853172b279237e1dc/matplotlib-3.1.3.tar.gz#sha256=db3121f12fb9b99f105d1413aebaeb3d943f269f3d262b45586d12765866f0c6
Best match: matplotlib 3.1.3
Processing matplotlib-3.1.3.tar.gz
Writing C:\Users\carlo\AppData\Local\Temp\easy_install-qhium5qh\matplotlib-3.1.3\setup.cfg
Running matplotlib-3.1.3\setup.py -q bdist_egg --dist-dir C:\Users\carlo\AppData\Local\Temp\easy_install-qhium5qh\matplotlib-3.1.3\egg-dist-tmp-gu_he1dr
Edit setup.cfg to change the build options
BUILDING MATPLOTLIB
matplotlib: yes [3.1.3]
python: yes [3.9.4 (tags/v3.9.4:1f2e308, Apr 6 2021, 13:40:21) [MSC
v.1928 64 bit (AMD64)]]
platform: yes [win32]
OPTIONAL SUBPACKAGES
sample_data: yes [installing]
tests: no [skipping due to configuration]
OPTIONAL BACKEND EXTENSIONS
agg: yes [installing]
tkagg: yes [installing; run-time loading from Python Tcl/Tk]
macosx: no [Mac OS-X only]
OPTIONAL PACKAGE DATA
dlls: no [skipping due to configuration]
UPDATING build\lib.win-amd64-3.9\matplotlib_version.py
set build\lib.win-amd64-3.9\matplotlib_version.py to '3.1.3'
error: Setup script exited with error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/

Ahora debemos descargar nilmtk-metadata por lo que una vez mas usaremos el comando git:

git clone https://github.com/nilmtk/nilm_metadata/

Y este seria el resultado:

C:\Users\carlo\anaconda3>git clone https://github.com/nilmtk/nilm_metadata/
Cloning into 'nilm_metadata'…
remote: Enumerating objects: 2053, done.
Receiving objects:
Receiving objects: 100% (2053/2053), 2.16 MiB | 6.17 MiB/s, done.
Resolving deltas: 100% (1380/1380), done.

Encontrará la carpeta nilmtk-metadata en el directorio y hay un archivo setup.py. Cambie a este directorio y luego instale, el comando es:

python setup.py develop

Resultados de la ejecucion del comando:

C:\Users\carlo\anaconda3\nilm_metadata>python setup.py develop
running develop
running egg_info
creating nilm_metadata.egg-info
writing nilm_metadata.egg-info\PKG-INFO
writing dependency_links to nilm_metadata.egg-info\dependency_links.txt
writing requirements to nilm_metadata.egg-info\requires.txt
writing top-level names to nilm_metadata.egg-info\top_level.txt
writing manifest file 'nilm_metadata.egg-info\SOURCES.txt'
reading manifest file 'nilm_metadata.egg-info\SOURCES.txt'
writing manifest file 'nilm_metadata.egg-info\SOURCES.txt'
running build_ext
Creating c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\nilm-metadata.egg-link (link to .)
Adding nilm-metadata 0.2.5 to easy-install.pth file
Installed c:\users\carlo\anaconda3\nilm_metadata
Processing dependencies for nilm-metadata==0.2.5
Searching for pandas==1.3.3
Best match: pandas 1.3.3
Processing pandas-1.3.3-py3.9-win-amd64.egg
pandas 1.3.3 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\pandas-1.3.3-py3.9-win-amd64.egg
Searching for six==1.16.0
Best match: six 1.16.0
Processing six-1.16.0-py3.9.egg
six 1.16.0 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\six-1.16.0-py3.9.egg
Searching for pyyaml==5.4.1
Best match: pyyaml 5.4.1
Processing pyyaml-5.4.1-py3.9-win-amd64.egg
pyyaml 5.4.1 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\pyyaml-5.4.1-py3.9-win-amd64.egg
Searching for pytz==2021.1
Best match: pytz 2021.1
Processing pytz-2021.1-py3.9.egg
pytz 2021.1 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\pytz-2021.1-py3.9.egg
Searching for python-dateutil==2.8.2
Best match: python-dateutil 2.8.2
Processing python_dateutil-2.8.2-py3.9.egg
python-dateutil 2.8.2 is already the active version in easy-install.pth
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\python_dateutil-2.8.2-py3.9.egg
Searching for numpy==1.21.2
Best match: numpy 1.21.2
Processing numpy-1.21.2-py3.9-win-amd64.egg
numpy 1.21.2 is already the active version in easy-install.pth
Installing f2py-script.py script to C:\Users\carlo\AppData\Local\Programs\Python\Python39\Scripts
Installing f2py.exe script to C:\Users\carlo\AppData\Local\Programs\Python\Python39\Scripts
Using c:\users\carlo\appdata\local\programs\python\python39\lib\site-packages\numpy-1.21.2-py3.9-win-amd64.egg
Finished processing dependencies for nilm-metadata==0.2.5

Instalación semiautomática de NILMTK

Abra una ventana de terminal de conda, crearemos un nuevo entorno de Conda y lo activaremos con los comandos:

conda create --name nilmtk-env 
conda activate 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

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 estamos usando Python). La ejecución del comando puede tardar un rato. Mientras tanto, consulte otros paquetes en Forge de NILMTK .

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

conda install matplotlib 

Verificar la instalación 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)"

Prueba de la instalación

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

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

Como puede comprobar random.h5 es el fichero de de datos en en formato hdf5 .A continuación, levante Jupyter:

notebook jupyter

Para probar su instalación, intente importar el conjunto de datos aleatorio usando NILMTK y trazar todos los medidores:https://klemenjak.medium.com/media/9ba2be16d331653a7b4093a0fe412434

La salida debe ser:

MeterGroup (metros =   ElecMeter (instancia = 1, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 2, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 3, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 4, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = [])   ElecMeter (instancia = 5, edificio = 1, conjunto de datos = Ninguno, electrodomésticos = []) )

¡Felicitaciones! Lo ha logrado. ¡NILMTK parece funcionar según lo previsto! La próxima vez, discutiremos cómo usar la API de NILMTK para una experimentación rápida y conveniente.

Deja una respuesta