Official implemental code for the paper "Data-Efficient Motor Condition Monitoring with Time Series Foundation Models."
The falut diagnosis raw dataset was collected and arranged by the Korea Advanced Institute of Science and Technology, and the adaptation edition used in this work can be found in
including:
Total 576M and 147M time points for current signal and vibration signal respectively
Total 1.9B observations
| Parameters | 1st PMSM (1.0 kW) | 2nd PMSM (1.5 kW) | 3rd PMSM (3.0 kW) | Unit |
|---|---|---|---|---|
| Manufacturing company | Higen motors | Higen motors | Higen motors | - |
| Rated power | 1000 | 1500 | 3000 | Watt |
| Input voltage | 380 | 380 | 380 | AC Voltage |
| Frequency | 60 | 60 | 60 | Hz |
| Number of phase | 3 | 3 | 3 | Phase |
| Number of pole | 4 | 4 | 4 | - |
| Rated torque | 3.18 | 4.77 | 9.55 | Nm |
| Rated speed | 3000 | 3000 | 3000 | RPM |
| Synchronous inductance | 0.0 | 0.0 | 0.0 | H |
| Magnetic flux | 400 | 350 | 300 | mT |
| Rotor inertia | 2.07 | 7.48 | 14.34 | Kgm² |
| Inter-turn resistance value (R_it) | 0.1385 | 0.0958 | 0.1087 | Ohm |
| Inter-coil resistance value (R_cc) | 0.0409 | 0.3021 | 0.1534 | Ohm |
In 1st PMSM (1.0 kW) as example:
| Fault label | Fault severity (%) | Fault type |
|---|---|---|
| 0 | 0.00 | inter-coil short circuit |
| 0 | 0.00 | inter-turn short circuit |
| 1 | 0.68 | inter-coil short circuit |
| 2 | 0.81 | inter-coil short circuit |
| 3 | 1.01 | inter-coil short circuit |
| 4 | 1.34 | inter-coil short circuit |
| 5 | 2.00 | inter-coil short circuit |
| 6 | 2.26 | inter-turn short circuit |
| 7 | 2.70 | inter-turn short circuit |
| 8 | 3.35 | inter-turn short circuit |
| 9 | 3.93 | inter-coil short circuit |
| 10 | 4.41 | inter-turn short circuit |
| 11 | 6.48 | inter-turn short circuit |
| 12 | 7.56 | inter-coil short circuit |
| 13 | 12.17 | inter-turn short circuit |
| 14 | 21.69 | inter-turn short circuit |
FM4FD/
├── README.md
├── requirements.txt
├── baseline
├───├── sota.py # contains state-of-the-art timeseries classification models
│ └── trad.py # contains traditional deep learning models
│ └── other items
├── MOMENT
├───├── zero_shot.py # use moment as a feature exractor
│ └── finetune.py # finetune moment by LoRA or full-finetuning
│ └── classifier.py # compare zero_shot without feature exraction
│ └── other items
├── Mantis
├───├── zero_shot.py # use mantis as a feature exractor
│ └── finetune.py # finetune mantis
│ └── other items
├── 1.0kW
│ ├── current
│ └── vibration
├── 1.5kW
│ ├── current
│ └── vibration
├── 3.0kW
│ ├── current
│ └── vibration
└── checkpoints/
├── baseline
└── fm
Here are the results of SOTA deep learning models and fine-tuned foundation models for fault diagnosis.
The SOTA models are from tsai:
MiniRocket (Dempster, 2021) (paper)
XCM - An Explainable Convolutional Neural Network (Fauvel, 2021)
(paper)
TSPerceiver - Adapted from Perceiver IO (Jaegle, 2021) (paper)
TSSequencerPlus - Adapted from Sequencer (Tatsunami, 2022) (paper)
The foundation models are from MOMENT and Mantis.
First, download the corresponding dataset from the link above.
Then, change the dataset path into yours:
After that, you will be able to run the relevant code directly to see the corresponding results. For example, if you'd like to test the MOMENT feature exraction, you can run this command:
python -u MOMENT/zero_shot.py > /your/path/file/output.log 2>&1 &
Inspired by LogME, I've added scores to the model, you can get the model score when zero_shot happens, higher scores indicate the model is more applicable.
At the same time, to better monitor the fine-tuning process in real time, I have added tensorboard to the MOMENT fine-tuning code, which allows us to run the following command immediately after the fine-tuning is complete:
tensorboard --logdir=<directory_name> --port=6006
For more steps and details about the implementation, you can check out my tutorial.
Python
94.3%
Jupyter Notebook
5.7%
Official implemental code for the paper "Data-Efficient Motor Condition Monitoring with Time Series Foundation Models."
The falut diagnosis raw dataset was collected and arranged by the Korea Advanced Institute of Science and Technology, and the adaptation edition used in this work can be found in
including:
Total 576M and 147M time points for current signal and vibration signal respectively
Total 1.9B observations
| Parameters | 1st PMSM (1.0 kW) | 2nd PMSM (1.5 kW) | 3rd PMSM (3.0 kW) | Unit |
|---|---|---|---|---|
| Manufacturing company | Higen motors | Higen motors | Higen motors | - |
| Rated power | 1000 | 1500 | 3000 | Watt |
| Input voltage | 380 | 380 | 380 | AC Voltage |
| Frequency | 60 | 60 | 60 | Hz |
| Number of phase | 3 | 3 | 3 | Phase |
| Number of pole | 4 | 4 | 4 | - |
| Rated torque | 3.18 | 4.77 | 9.55 | Nm |
| Rated speed | 3000 | 3000 | 3000 | RPM |
| Synchronous inductance | 0.0 | 0.0 | 0.0 | H |
| Magnetic flux | 400 | 350 | 300 | mT |
| Rotor inertia | 2.07 | 7.48 | 14.34 | Kgm² |
| Inter-turn resistance value (R_it) | 0.1385 | 0.0958 | 0.1087 | Ohm |
| Inter-coil resistance value (R_cc) | 0.0409 | 0.3021 | 0.1534 | Ohm |
In 1st PMSM (1.0 kW) as example:
| Fault label | Fault severity (%) | Fault type |
|---|---|---|
| 0 | 0.00 | inter-coil short circuit |
| 0 | 0.00 | inter-turn short circuit |
| 1 | 0.68 | inter-coil short circuit |
| 2 | 0.81 | inter-coil short circuit |
| 3 | 1.01 | inter-coil short circuit |
| 4 | 1.34 | inter-coil short circuit |
| 5 | 2.00 | inter-coil short circuit |
| 6 | 2.26 | inter-turn short circuit |
| 7 | 2.70 | inter-turn short circuit |
| 8 | 3.35 | inter-turn short circuit |
| 9 | 3.93 | inter-coil short circuit |
| 10 | 4.41 | inter-turn short circuit |
| 11 | 6.48 | inter-turn short circuit |
| 12 | 7.56 | inter-coil short circuit |
| 13 | 12.17 | inter-turn short circuit |
| 14 | 21.69 | inter-turn short circuit |
FM4FD/
├── README.md
├── requirements.txt
├── baseline
├───├── sota.py # contains state-of-the-art timeseries classification models
│ └── trad.py # contains traditional deep learning models
│ └── other items
├── MOMENT
├───├── zero_shot.py # use moment as a feature exractor
│ └── finetune.py # finetune moment by LoRA or full-finetuning
│ └── classifier.py # compare zero_shot without feature exraction
│ └── other items
├── Mantis
├───├── zero_shot.py # use mantis as a feature exractor
│ └── finetune.py # finetune mantis
│ └── other items
├── 1.0kW
│ ├── current
│ └── vibration
├── 1.5kW
│ ├── current
│ └── vibration
├── 3.0kW
│ ├── current
│ └── vibration
└── checkpoints/
├── baseline
└── fm
Here are the results of SOTA deep learning models and fine-tuned foundation models for fault diagnosis.
The SOTA models are from tsai:
MiniRocket (Dempster, 2021) (paper)
XCM - An Explainable Convolutional Neural Network (Fauvel, 2021)
(paper)
TSPerceiver - Adapted from Perceiver IO (Jaegle, 2021) (paper)
TSSequencerPlus - Adapted from Sequencer (Tatsunami, 2022) (paper)
The foundation models are from MOMENT and Mantis.
First, download the corresponding dataset from the link above.
Then, change the dataset path into yours:
After that, you will be able to run the relevant code directly to see the corresponding results. For example, if you'd like to test the MOMENT feature exraction, you can run this command:
python -u MOMENT/zero_shot.py > /your/path/file/output.log 2>&1 &
Inspired by LogME, I've added scores to the model, you can get the model score when zero_shot happens, higher scores indicate the model is more applicable.
At the same time, to better monitor the fine-tuning process in real time, I have added tensorboard to the MOMENT fine-tuning code, which allows us to run the following command immediately after the fine-tuning is complete:
tensorboard --logdir=<directory_name> --port=6006
For more steps and details about the implementation, you can check out my tutorial.
Python
94.3%
Jupyter Notebook
5.7%