NILMTK安装教程(详细)——个人实践成功


前言

经过多次尝试安装NILMTK失败后,最后终于安装成功,鉴于安装过程中的心酸,故写下该文章,希望能够帮助有缘人。提供两种均已成功的安装方法。
作业环境:Windows11,Anaconda。以下未注明的话所有操作均在Windows Anaconda Prompt上执行。
以下为安装过程中,对我有所帮助的博客:
[1] NILM(非侵入式电力负荷监测)学习笔记 —— 准备工作(一)配置环境NILMTK Toolkit
[2] NILM-UKDALE的电器数据提取探索


提示:以下为个人实践所得,仅供参考

一、NILMTK是什么?

NILMTK,顾名思义, nilm的toolkit,是专门为非侵入式负荷监测任务开发的开源工具包,包括了各大公开数据集的数据处理,也支持用户自己采集的数据。

二.下载nilmtk和nilmtk-master文件

从github上直接下载nilmtk模块安装包并解压,链接:
nilmtk
nilmtk-master
可能需要f墙,没有办法的小伙伴也可以评论找我。

—————————— 2023/07/14 更新 ——————————
不需要f墙的链接:
nilmtk
nilmtk-master

三.安装方法(一)environment.yml版

3.1 解压文件

解压后,如下图:在这里插入图片描述
在这里插入图片描述
解压目录可按照自己喜好。

3.2 导入(复现、安装)环境

运行Anaconda Prompt,切换当前路径到nilmtk解压路径中

d:
cd D:\MyProject\NILMTK\nilmtk_master

输入

conda env create -f environment.yml

等待时间可能较长,耐心等待。
结束后便得到了一个含有nilmtk工具库的环境,环境名为:nilmtk-env

输入:

conda info --envs

查看已有的环境,你会发现多了一个名为:nilmtk-env的环境。

3.3 Pycharm配置环境

记得把自己pycharm中的环境改为刚刚安装的nilmtk-env
在这里插入图片描述

在这里插入图片描述

选择anaconda安装目录下,envs文件夹下nilmtk-env文件夹中的python.exe
以我的为例:

E:\anaconda_set\envs\nilmtk-env\python.exe

等待导入完成就可以了。

3.4 nilmtk的使用

可以在工程中直接导入,比如读取h5文件:

from nilmtk import DataSet
train = DataSet('h5文件地址')

3.5 小结

其实,这种方法的思路就是通过environment.yml这个文件进行环境导入。
这个environment.yml文件应该是别人把自己的环境(包括里面的包)导出,生成的一个文件,你可以通过这个文件把别人的环境直接安装到自己的电脑里。
就跟pip install ×××差不多道理,只不过pip install ×××给你的是一个工具,比如一把钳子,而conda env create -f environment.yml给你的是一个工具箱,里面有钳子、锤子,还有工具箱本箱。
以上均为自己的理解,本人纯小白,也是在摸索中前进。

3.6 题外话(便于理解)

对于好不容易配置好的虚拟环境,将其中的包及相应版本号等导出备份,这样我们要在另一台电脑配置相同的虚拟环境,或者对该虚拟环境进行复现就十分方便。

导出已有虚拟环境:
打开Anaconda Prompt,激活想要导出的环境,如想要导出名为pytorch的虚拟环境
输入:

conda activate pytorch

备份(导出)虚拟环境

conda env export > environment.yaml

一般该文件默认命名为environment.yaml,当然也可以自己命名(推荐)。
这个文件一般保存在如下路径C:\Users**\ environment.yaml(**表示用户名)

再次创建该环境,或根据别人提供的.yaml文件复现环境时
打开Anaconda Prompt,将目录转到存放environment.yaml的文件加下,
输入

conda env create -f environment.yaml

便将导出的环境复现了。


四.安装方法(二)sys.path.append版

4.1 思路

该方法的思路就是每次用到时去寻找这个库。
该方法可以在自己已有的环境中进行,不需要和方法(一)一样创建一个新的环境,比如我之前安装了pytorch这个环境,我就可以在pytorch这个环境中使用nilmtk这个库。

4.2 文件存放

将解压后的nilmtk和nilm_metadata文件存放到一个固定的文件夹下,
比如我将它们放到D:\MyProject\Code文件夹下。

4.3 nilmtk使用

相较于方法二,需要增加路径,让Python去固定位置找这个库:

import warnings;
warnings.filterwarnings('ignore')
import sys
sys.path.append('D:\MyProject\Code') #nilmtk这个库的位置

from nilmtk import DataSet
train = DataSet('h5文件地址')

另外执行上述代码后,可能会报错,原因是缺少一些库,运行Anaconda Prompt,conda activate 激活当前使用的环境,用conda install ×××,或者pip install ×××安装缺少的库即可。

4.4 小结

其实也没有什么可以总结的,这个方法就是每次用到nilmtk这个库的时候,通过给定的路径去找这个工具,然后拿来用。相较于第一种方法,我自己觉得应该时间会更长一点吧,毕竟要去找,这个仅属个人猜测。

五.总结

要开始入坑nilm了,前路漫漫,大家一起加油吧!!!
PS.第一次写分享,可能会有错误,真的很欢迎大家提意见,或者相互交流。


  • 10
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值