VAE

所属分类:其他
开发工具:Python
文件大小:121KB
下载次数:1
上传日期:2023-05-29 16:32:43
上 传 者王kw
说明:  基于python程序语言,使用VAE编码器,实现了对于家庭负荷的非侵入式负荷分解以及监测
(Based on Python programming language and using VAE encoder, non-invasive load decomposition and monitoring for household loads have been achieved)

文件列表:
Config (0, 2022-04-17)
Config\House_1 (0, 2022-04-17)
Config\House_1\.ipynb_checkpoints (0, 2022-04-17)
Config\House_1\.ipynb_checkpoints\Dishwasher_DAE-checkpoint.json (850, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Dishwasher_S2P-checkpoint.json (878, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Dishwasher_S2S-checkpoint.json (877, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Dishwasher_VAE-checkpoint.json (842, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Fridge_DAE-checkpoint.json (842, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Fridge_S2P-checkpoint.json (873, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Fridge_S2S-checkpoint.json (872, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Fridge_VAE-checkpoint.json (838, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Kettle_DAE-checkpoint.json (843, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Kettle_S2P-checkpoint.json (875, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Kettle_S2S-checkpoint.json (873, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Kettle_VAE-checkpoint.json (838, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Microwave_DAE-checkpoint.json (845, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Microwave_S2P-checkpoint.json (877, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Microwave_S2S-checkpoint.json (875, 2021-04-20)
Config\House_1\.ipynb_checkpoints\Microwave_VAE-checkpoint.json (841, 2021-04-20)
Config\House_1\.ipynb_checkpoints\WashingMachine_DAE-checkpoint.json (853, 2021-04-20)
Config\House_1\.ipynb_checkpoints\WashingMachine_S2P-checkpoint.json (881, 2021-04-20)
Config\House_1\.ipynb_checkpoints\WashingMachine_S2S-checkpoint.json (880, 2021-04-20)
Config\House_1\.ipynb_checkpoints\WashingMachine_VAE-checkpoint.json (846, 2021-04-20)
Config\House_1\Dishwasher_DAE.json (850, 2021-04-20)
Config\House_1\Dishwasher_S2P.json (878, 2021-04-20)
Config\House_1\Dishwasher_S2S.json (877, 2021-04-20)
Config\House_1\Dishwasher_VAE.json (842, 2021-04-20)
Config\House_1\Fridge_DAE.json (842, 2021-04-20)
Config\House_1\Fridge_S2P.json (873, 2021-04-20)
Config\House_1\Fridge_S2S.json (872, 2021-04-20)
Config\House_1\Fridge_VAE.json (838, 2021-04-20)
Config\House_1\Kettle_DAE.json (843, 2021-04-20)
Config\House_1\Kettle_S2P.json (875, 2021-04-20)
Config\House_1\Kettle_S2S.json (873, 2021-04-20)
Config\House_1\Kettle_VAE.json (838, 2021-04-20)
Config\House_1\Microwave_DAE.json (845, 2021-04-20)
Config\House_1\Microwave_S2P.json (877, 2021-04-20)
Config\House_1\Microwave_S2S.json (875, 2021-04-20)
Config\House_1\Microwave_VAE.json (841, 2021-04-20)
... ...

# Energy Disaggregation using Variational Autoencoders This code implements the Variational Autoencoders model used in the paper : **Langevin, A., Carbonneau, M. A., Cheriet, M., & Gagnon, G. (2021). Energy Disaggregation using Variational Autoencoders. arXiv preprint arXiv:2103.12177.** ### Comparison methods: Kelly, J., & Knottenbelt, W. (2015, November). Neural nilm: Deep neural networks applied to energy disaggregation. In Proceedings of the 2nd ACM international conference on embedded systems for energy-efficient built environments (pp. 55-***). https://github.com/JackKelly/neuralnilm Chaoyun Zhang, Mingjun Zhong, Zongzuo Wang, Nigel Goddard, and Charles Sutton. "Sequence-to-point learning with neural networks for nonintrusive load monitoring." Thirty-Second AAAI Conference on Artificial Intelligence (AAAI-18), Feb. 2-7, 2018. https://github.com/MingjunZhong/seq2point-nilm S2SSPan, Y., Liu, K., Shen, Z., Cai, X., & Jia, Z. (2020, May). Sequence-to-subsequence learning with conditional gan for power disaggregation. In ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (pp. 3202-3206). IEEE. https://github.com/DLZRMR/seq2subseq # Setup 1. Create your own environment with Python > 3.6 2. Configure deep learning environment with Tensorflow 3. Install others requirement packages 4. Clone this repository # Datasets and preprocessing 1. Download UKDALE files and extract .dat files in each house folder. Example: ``` Data/ |-- UKDALE/ | |-- house_1 | | |-- channel1.dat | | |-- channel2.dat | | |-- ... | |-- house_2 | | |-- channel1.dat | | |-- ... | |-- ... ``` 2. Execute the preprocess code ``` python uk_dale_preprocess.py ``` It will generate these files for each house and the each appliance: ``` Data/ |-- UKDALE/ | |-- Dishwasher_appliance_house_1 | |-- Dishwasher_main_house_1 | |-- Fridge_appliance_house_1 | |-- Fridge_main_house_1 | |-- ... | |-- Dishwasher_appliance_house_2 | |-- Dishwasher_main_house_2 | |-- Fridge_appliance_house_2 | |-- Fridge_main_house_2 | |-- ... ``` # Training and testing The training is performed with the following command: ``` python NILM_disaggregation.py --gpu 0 --config Config/House_2/WashingMachine_VAE.json ``` Where --gpu is used to select a specific GPU, and --config to select the config file associated with the training to execute. The test is performed with the following command: ``` python NILM_test.py --gpu 0 --config Config/House_2/WashingMachine_VAE.json ``` The script tests the last trained model of the selected configuration. It predicts the energy disaggregation on the test data e.g., house 2 and saves it in "pred_1.npy". It also prints the results for the metrics: MAE, ACC, PRECISION, RECALL, F1-SCORE, SAE and saves the scores in "results_median.npy". Example: ``` Best Epoch : 82 6.36628***49142183 # MAE 0.82446076663243*** # ACC 0.8333902355752817 # PREC 0.9463532832566028 # RECALL 0.8862867905689065 # F1-SCORE [0.35107847] # SAE ```

近期下载者

相关文件


收藏者