DPMHM¶
DPMHM (prononced "Deep HM") stands for Diagnosis and Prognosis for Machine Health Monitoring. It is a library written in Python and Tensorflow for benchmark test of deep-learning based algorithms in the context of machine health monitoring (MHM), featuring
- A collection of open-access database of vibration signals, standardized and formatted using
tensorflow-datasets
- Pipelines for automatic preprocessing & transformation of data
- Baseline algorithms: Supervised/Unsupervised/Self-Supervised representation learning, Transfer learning/Few-shot learning for fault diagnosis, Remaining Useful Life (RUL) prediction etc.
About the name¶
A diagnosis is an identification of a disease via examination. What follows is a prognosis, which is a prediction of the course of the disease as well as the treatment and results. A helpful trick is that a diagnosis comes before a prognosis, and diagnosis is before prognosis alphabetically. Additionally, diagnosis and detection both start with "d" whereas prognosis and prediction both start with "p." -- Merriam-Webster dictionary
As the name suggests, dpmhm
intends to cover diagnosis and prognosis, two main aspects of machine condition monitoring. In dpmhm
, we implement diagnosis as anomaly detection and prognosis as RUL prediction.
Purpose¶
Data is of paramount importance for deep learning based model development. Many benchmark studies in MHM today are performed on several well-recognized datasets (such as CWRU and NASA), despite the availability of alternative open access datasets. Possible reasons impeding the wide adoptation of alternative datasets by researchers include:
- Although freely available, they are much less well recognized hence less visible and accessible;
- In the absence of widely accepted guidelines, datasets of diverse sources in MHM often come in arbitrary format and convention. For each new dataset, the user has to pay extra overhead on apprehension & preparation.
This package aims for offering a self-contained environment of benchmark test, including both open-access datasets and deep learning models (implemented from scratch), in order to facilitate the development of MHM models. In dpmhm
, a large collection of open datasets is encapsulated in a common interface in order to alleviate efforts in preliminary operations like data loading and preparation. Moreover with the provided models, users can easily build transfer learning benchmarks of model/dataset cross-test.
Installation¶
The package can be installed simply using pip
from a terminal:
$ pip install dpmhm
tensorflow-datasets
.
Workflow¶
Here is a basic workflow with dpmhm
:
- Installing a dataset
- Preprocessing a dataset
- Use with machine learning models
Installing a dataset¶
This package does not provide the actual datasets, only the facilities for their preprocessing. A dataset must be installed before being loaded into memory. The general procedure consists of first downloading the original data then building the dataset of tfrecord format using tensorflow_datasets
.
Preprocessing a dataset¶
After installation, a built dataset may still needs extra setups before being fed to a ML model, including data selection, feature extraction and adaptation etc.
Use with ML models¶
No extra installation is needed for the machine learning models in general, just load and configure a model then apply it on some dataset for training & test.
See the page Datasets and Models for more details.
MHM & Deep learning¶
Machine Health Monitoring (MHM) embodies the ability to assess and react to the machine health and is well established in manufacturing environments. It is also called predictive maintenance, condition monitoring, or machine fault diagnosis.
A McKinsey study estimated that the appropriate use of MHM techniques by process manufacturers “typically reduces machine downtime by 30 to 50 percent and increases machine life by 20 to 40 percent” (Dilda et al., 2017). Furthermore, with the increase in computational power and data availability over the past decade, new tools are now enabled (such as end-to-end deep learning) that diverge from how MHM was traditionally implemented. Thus, it is imperative that manufacturers, and MHM researchers, understand the benefits of these new tools, along with their potential drawbacks. 1 -- von Hahn, T., Mechefske, C., 2021. Self-supervised learning for tool wear monitoring with a disentangled-variational-autoencoder.
We refer the reader to the section MHM & Deep Learning for a short account on the topic.
Tutorials¶
Tutorials and examples of usage are provided and come in form of Jupyter notebooks. They can be modified and adapted by users for their own purpose. See the Tutorial section for more details.
Reference¶
Documentation on the API can be found in the Reference section.
-
Tim von Hahn and Chris Mechefske. Self-supervised learning for tool wear monitoring with a disentangled-variational-autoencoder. International Journal of Hydromechatronics, January 2021. 25 citations (Crossref) [2023-02-07]. doi:10.1504/IJHM.2021.114174. ↩