Code release for Deep Learning Algorithms for Rotating Machinery Intelligent Diagnosis: An Open Source Benchmark Study by Zhibin Zhao, Tianfu Li, and Jingyao Wu.
- 2020.05.14, we modified the errors of the dataloaders related to XJTU dataset.
This project just provides the baseline (lower bound) accuracies and a unified intelligent fault diagnosis library which retains an extended interface for everyone to load their own datasets and models by themselves to carry out new studies. Meanwhile, all the experiments are executed under Window 10 and Pytorch 1.1 through running on a computer with an Intel Core i7-9700K, GeForce RTX 2080Ti, and 16G RAM.
R_A: random split with data augmentation, R_NA: random split without data augmentation, O_A: order split with data augmentation
- Python 3.7
- Numpy 1.16.2
- Pandas 0.24.2
- Pickle
- tqdm 4.31.1
- sklearn 0.21.3
- Scipy 1.2.1
- opencv-python 4.1.0.25
- PyWavelets 1.0.2
- pytorch >= 1.1
- torchvision >= 0.40
- CWRU Bearing Dataset
- MFPT Bearing Dataset
- PU Bearing Dataset
- UoC Gear Fault Dataset
- XJTU-SY Bearing Dataset
- SEU Gearbox Dataset
- JNU Bearing Dataset
This repository is organized as:
- AE_Datasets contains the loader of different datasets for AE models.
- CNN_Datasets contains the loader of different datasets for MLP, CNN, and RNN models.
- datasets contains the data augmentation methods and the Pytorch datasets for 1D and 2D signals.
- models contains the models used in this project.
- utils contains the functions for realization of the training procedure.
-
download datasets
-
use the train.py to test MLP, CNN, and MLP models
-
for example, use the following commands to test MLP for SEU with mean-std normalization and data augmentation
-
python train.py --model_name MLP --data_name SEU --data_dir ./Data/Mechanical-datasets --normlizetype mean-std --processing_type O_A --checkpoint_dir ./Benchmark/Benchmark_Results/Order_split/SEU/MLP_mean-std_augmentation
-
use the train_ae.py to test AE models
-
for example, use the following commands to test SAE for SEU with mean-std normalization and data augmentation
-
python train_ae.py --model_name Sae1d --data_name SEU --data_dir ./Data/Mechanical-datasets --normlizetype mean-std --processing_type O_A --checkpoint_dir ./Benchmark/Benchmark_Results/Order_split/SEU/Sae1d_mean-std_augmentation
Codes:
@misc{Zhao2020,
author = {Zhibin Zhao and Tianfu Li and Jingyao Wu and Chuang Sun and Shibin Wang and Ruqiang Yan and Xuefeng Chen},
title = {Deep Learning Algorithms for Rotating Machinery Intelligent Diagnosis},
year = {2020},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/ZhaoZhibin/DL-based-Intelligent-Diagnosis-Benchmark}},
}
Paper:
@article{zhao2020deep,
title={Deep Learning Algorithms for Rotating Machinery Intelligent Diagnosis: An Open Source Benchmark Study},
author={Zhibin Zhao and Tianfu Li and Jingyao Wu and Chuang Sun and Shibin Wang and Ruqiang Yan and Xuefeng Chen},
journal={arXiv preprint arXiv:2003.03315},
year={2020}
}