This repository contains researches dedicated to classification of bearing fault based on vibrational signals' spectrograms, using deep neural network to identify the type of defect. The project provides an intuitive CLI for proposed algorithms. We prioritize presenting previous researches in a readable and reproducible manner over introducing a faithful implementation.
The team behind this work is Mandevices Laboratory from Hanoi University of Science and Technology (HUST). Learn more about our researches here.
- CUDA-enabled GPU
- Python version 3.10+
- Poetry dependency manager
- Install Poetry
- Clone the repository
git clone https://github.com/vuong-viet-hung/hust-bearing.git
cd hust-bearing
- Install project's dependencies
poetry install
Refer to this guide on how to execute commands inside virtual environment.
The CLI is powered by LightningCLI. Refer to this guide for advanced usage.
Obtain the dataset before advance to the proceeding steps
Open-access data will be provided soon. As of now, there are options to:
- Contact us for the dataset.
- Generate the dataset using the accompanied repository.
The dataset should be structured as such:
data <-- root directory
|---hust <-- dataset directory
| |---B500 <-- directory containing spectrograms
| |---B502
| | ...
| |---O504
|---cwru
| ...
Training configuration file is saved as: logs/<model>/<dataset>/<num_samples>/<load>/fit/version_*/config.yaml.
For example, to train the ConvMixer model on HUST Bearing dataset, using 3000 samples at load 4
hust-bearing fit --config=logs/conv-mixer/hust/3000/4/fit/version_0/config.yaml
The model checkpoints will be saved at logs/conv-mamba/hust/3000/0/fit/version_0/checkpoints/.
Testing configuration file is saved as: logs/<model>/<dataset>/<num_samples>/<train_load>/test/<test_load>/version_*/config.yaml.
For example, to test the trained model on load 2
hust-bearing test --config=logs/conv-mixer/hust/3000/4/test/2/version_0/config.yaml \
--ckpt_path=logs/conv-mixer/hust/3000/4/fit/version_0/checkpoints/<saved_model>.ckpt
Make sure to have the correct path to the saved model.
We are working on publishing our pretrained models. As of now, you must retrain the model for evaluation.