【NILM】非入侵式负荷分解模块nilmtk安装教程
本教程主要在Anaconda的Python环境中安装nilmtk模块,因此建议在安装nilmtk模块之前先安装Anaconda软件,下载链接见下载链接。安装nilmtk模块建议在anconda虚拟环境下创建,因此需要利用Conda命令创建虚拟环境,再下载nitmtk模块,安装nilmtk模块。
1 conda命令创建虚拟环境
1.1 conda命令的使用教程
- 获取版本号
conda --version/conda -V
- 获取帮助
conda --help
conda -h
#查看某一命令的帮助,如update命令及remove命令
conda update --help
conda remove --help
#同理,以上命令中的--help也可以换成-h。
- 环境管理
#查看环境管理的全部命令帮助
conda env -h
#创建python虚拟环境
conda create --name your_env_name #(这里你可以根据自己的虚拟环境名称改写)
输入y确认创建。
- 创建制定python版本的环境
#创建制定python版本的环境
conda create --name your_env_name python=2.7
conda create --name your_env_name python=3
conda create --name your_env_name python=3.5
#创建包含某些包的环境
conda create --name your_env_name numpy scipy
# 列举当前所有环境
conda info --envs
conda env list
# 进入某个环境
conda activate your_env_name#建议用这个
activate your_env_name
#退出当前环境
conda deactivate
#复制某个环境
conda create --name new_env_name --clone old_env_name
#删除某个环境
conda remove --name your_env_name --all
#通过以下命令从yml文件创建环境
conda env create -f environment.yml
#列举当前活跃环境下的所有包
conda list
#列举一个指定环境下的所有包
conda list -n your_env_name
2 安装nilmtk模块
2.1 下载nilmtk模块
从github上直接下载nilmtk模块安装包,下载链接https://github.com/nilmtk/nilmtk 。解压文件
2.2 打开 Anaconda Prompt
切换当前路径到nilmtk解压路径中,切换命令采用cd命令切换,切换路径之前需要先切换到加压文件夹所在盘,再切换到具体的路径(C盘的话直接用cd切换)。例如‘E:\实验\模块\nilmtk’路径中,我先要切换到E盘,再切换到‘E:\实验\模块\nilmtk’中。命令如下:
#切换到E盘
E:
#切换到具体路径
cd E:\实验\模块\nilmtk
2.3 构建Nilmtk的虚拟环境
这步主要构建nilmtk的虚拟环境nilmtk-env,若已经用其他方法建立了nilmtk-env,则需要先将该目录删除,否则运行失败,删除办法第一部分已经介绍。创建命令如下:
conda env create -f environment.yml
2.4切换到nilmtk的虚拟环境nilmtk-env
构建完成专门为nilm模块安装的python环境,需要切换到nilm-env环境中,才能使用安装的nilmtk模块,anaconda模块具备的模块一定要在nilmtk-env环境存在,需要切换到nilmtk-env中,用pip install XXX命令安装。具体命令
conda activate nilmtk-env
#或者
activate nilmtk-env
#退出环境
conda deactivate
2.5安装nilmtk模块
切换到nillmtk-env虚拟环境后输入相应命令安装nilmtk模块,这种方式还可以把nilmk-metadata安装好。
python setup.py develop
运行该命令后,会运行一段时间,等待运行完,运行过程没有报错就ok,
运行完后用下面两条命令测试一下。
conda list
nosetests
如果conda list显示有上述模块,表示安装成功。
可以通过下面代码测试一下,low_freq表示redd数据集的原始路径,其中REDD数据集地址:http://redd.csail.mit.edu/,用户名: redd ;密码: disaggregatetheenergy
from nilmtk.dataset_converters import convert_redd
convert_redd(r'D:\MyProject\NILMTK\low_freq',r'D:\MyProject\NILMTK\low_freq\redd.h5')
如果运行成功表示安装成功。
3 安装Spyder编辑器
anaconda自带一个spyder编辑器,编写python程序很方便,但是nilmtk-env模块没有spyder工具,为了编写nilmtk相关代码,运行负荷分解程序,需要在nilmtk-env环境安装spyder。使用命令:
conda install spyder
可以通过conda list或者开始菜单栏的文件夹目录查看到。效果如下图所示。
4 安装nilmtk-contrib模块
该模块包含使用 NILMTK 的快速实验 API 实现的能量分解任务的所有最先进算法。 安装方法跟nilmtk模块一样,先下载nilmtk-contrib模块的安装包,再解压安装包,在nilmtk-env环境下切换到nilmtk-contrib文件夹里,运行python setup.py develop,然后运行conda list查看安装成功了不。
可以直接通过命令安装nilmtk-contrib模块,命令:
conda install -c conda-forge -c nilmtk nilmtk-contrib
nilmtk-contrib安装包下载路径:https://github.com/nilmtk/nilmtk-contrib
5 安装包下载
如果github无法访问下载,可以进入下面链接下载nilmtk和nilmtk-contrib等安装包。
https://download.csdn.net/download/weixin_56516468/85698419
【参考资料】
1.https://blog.csdn.net/wangwy_hoveringeagle/article/details/121177790
2.https://blog.csdn.net/wangwy_hoveringeagle/article/details/121143285
3.https://blog.csdn.net/weixin_56516468/article/details/118058994?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-118058994-blog-121143285.pc_relevant_paycolumn_v3&spm=1001.2101.3001.4242.2&utm_relevant_index=4
【NILM】非入侵式负荷分解模块nilmtk安装教程相关推荐
- 【NILM】非侵入式负荷分解数据集下载链接
非侵入式负荷分解数据集 1.UK-DALE数据集下载: 下载链接 2.REDD数据集下载: 下载链接 用户名: redd 密码: disaggregatetheenergy 3.R ...
- 【数据挖掘】基于卷积神经网络的非侵入式负荷分解(NILM)Python实现
本方法主要利用基于卷积神经网络的非侵入式负荷分解方法实现住宅设备的识别,输入数据为在设备运行时获得的瞬态功率信号数据.训练卷积神经网络使用数据为开源数据REDD(1Hz),具体实现原理请参考文献下载链 ...
- NILM非侵入式负荷识别(papers with code、data)带代码的论文整理——(论文及实现代码篇) 全网最全
说在最前面 研究生三年快毕业了,毕业前整理一下该领域的研究工作.正所谓,我栽树,后人乘凉.研究NILM的时候,个人觉得最快的方法是直接复现别人的论文,或者甚至用别人论文的代码直接跑出来体会整个流程(数 ...
- NILM非侵入式负荷识别(papers with code、data)带代码的论文整理——(公开数据集、工具、和性能指标篇) 全网最全
说在最前面 这篇文章主要介绍用于非侵入式负荷识别领域目前的公开数据集.工具和其它等,如果需要看论文及具体代码实现,看我上一篇的文章. 其外,不是所有数据集我都用过,我只用过UK-DALE,所以其它数据 ...
- 非侵入式负荷分解方法
非侵入式负荷监测(non-intrusive load monitoring,NILM) 0 引言 电力负荷设备检测和分解方法分为:侵入式和非侵入式. 侵入式 在每个用户的电气设备上都安装传感器以获得 ...
- 何为非侵入式负荷分解
0 解答 有同学提出了一些问题,我在这里再说明一次. 1)深度学习算法应用于非侵入式负荷分解是不需要事件检测的吗? 回答:是的,不需要事件检测.深度学习算法应用于负荷辨识的话,必须要有事件检测. 2) ...
- 非侵入式负荷分解之BLUED数据集
非侵入式负荷分解之BLUED数据集 BLUED数据集包含大约8天之内来自单个美国家庭的高频(12 kHz)家庭级数据.数据集的论文:<BLUED: A Fully Labeled Public ...
- 非侵入式负荷matlab程序,非侵入式负荷分解之BLUED数据集
非侵入式负荷分解之BLUED数据集 非侵入式负荷分解之BLUED数据集 BLUED数据集包含大约8天之内来自单个美国家庭的高频(12 kHz)家庭级数据.该数据集还包含一个事件列表,该列表涉及家庭中每 ...
- 何为非侵入式负荷分解-深度学习算法实现
1 前言 做负荷分解的网络很多,本篇用contrib中的几个网络对AMPds数据集进行训练和测试.本篇内容较短.仅展示部分网络的代码和结果. 2 数据集 AMPds数据集所选电器见下表.电器选择原则如 ...
最新文章
- L2-002. 链表去重
- 无副作用、效果超越吗啡!用微电极精准管理大脑“疼痛中心”,科学家探索止痛新方法...
- mysql+主从复制重做_XtraBackup实现MySQL不停机重做主从复制
- 微服务,我们如何与你相处
- jquery 访问.ashx ashx取所传参数的值
- jest单元测试-更多
- 服务器系统如何卸载IE,如何卸载ie浏览器,我来教您如何卸载ie浏览器的步骤
- Java开发之HTTP协议详解
- python2和python3 print_新手学习Python2和Python3中print不同的用法
- 深信服测试开发日常实习岗位一面凉经(来自李某)
- 一个高考落榜生的奋斗历程
- torch.nn.Conv2d详解
- 解决Veil—Evasion安装中git clone导致失败的问题
- @vue/composition-api/dist/vue-composition-api.mjs in ./node_modules/vue-demi/lib/index.mjs 报错
- 生成固定的句子,句子中含有给定的多个关键词,python代码实现
- Unity摄像机画面制作全景图片|截图制作全景图
- 【VBS】vbs鼠标方法——模拟鼠标按键
- django 类视图装饰器_灵活视图处理的模式,第2部分–使用装饰器
- 阿里毕玄:阿里十年,从分布式到云时代的架构演进之路
- C#算法:推算经理的3个女儿的年龄
热门文章
- Self-Supervised Deep Blind Video Super-Resolution
- 论文笔记——扩散卷积循环神经网络进行交通预测
- 前端人脸识别解决方案
- react-native的Dimensions.get(‘screen‘)和Dimensions.get(‘window‘)有什么不同
- java 中 print、println 与 printf 的区别
- 网易面试一面【游戏测试工程师】
- Android基于高德SDK的开发——自定义地图主题样式(悬浮按钮+底部弹窗)
- 阿里云 SLB示例配置
- Graylog 中文手册 常用功能和问题整理
- DBA所需要具备技能