An open API service indexing awesome lists of open source software.

https://github.com/lucadellalib/bayesian-deep-rul

Bayesian Deep Learning for Remaining Useful Life Estimation of Machine Tool Components
https://github.com/lucadellalib/bayesian-deep-rul

bayesian-deep-learning c-mapss condition-based-maintenance neural-network remaining-useful-life uncertainty

Last synced: 6 months ago
JSON representation

Bayesian Deep Learning for Remaining Useful Life Estimation of Machine Tool Components

Awesome Lists containing this project

README

          

# Bayesian Deep Learning for Remaining Useful Life Estimation of Machine Tool Components

Bayesian and frequentist deep learning models for remaining useful life (RUL) estimation are evaluated on simulated run-to-failure data. Implemented in PyTorch, developed and tested on Ubuntu 18.04 LTS. All the experiments were run on a publicly available Google Compute Engine Deep Learning VM instance with 2 vCPUs, 13 GB RAM, 1 NVIDIA Tesla K80 GPU and *PyTorch 1.2 + fast.ai 1.0 (CUDA 10.0)* framework.

---------------------------------------------------------------------------------------------------------

## Requirements

Anaconda Python >= 3.6.4 (see https://www.anaconda.com/distribution/)

---------------------------------------------------------------------------------------------------------

## Installation

Clone or download the repository, open a terminal in the root directory and run the following commands:

```conda env create -f environment.yml```

```conda activate bayesian-deep-rul```

Now the virtual environment *bayesian-deep-rul* is active. To deactivate it, run:

```conda deactivate```

When you do not need it anymore, run the following command to remove it:

```conda remove --name bayesian-deep-rul --all```

---------------------------------------------------------------------------------------------------------

## Dataset

The models were tested on the four simulated turbofan engine degradation subsets in the publicly available *Commercial Modular Aero-Propulsion System Simulation* (C-MAPSS) dataset. Check *datasets/CMAPSS/README.md* for instructions on how to download the dataset.

---------------------------------------------------------------------------------------------------------

## Usage

Open a terminal in the root directory, activate the virtual environment and run one of the following commands:

* `sh train.sh` to train the selected model. Parameters can be modified by editing *train.sh*

* `sh evaluate.sh` to evaluate the selected model. Parameters can be modified by editing *evaluate.sh*

* `sh run_experiments.sh` to replicate the experiments on the C-MAPSS dataset

---------------------------------------------------------------------------------------------------------

## TensorBoard

Open a terminal in the root directory, activate the virtual environment and run `tensorboard --logdir .` to monitor the training process with TensorBoard. If you are training on a remote server, connect through SSH and forward a port from the remote server to your local computer (`gcloud compute ssh --zone= -- -L 6006:localhost:6006` on a Google Compute Engine Deep Learning VM instance).

---------------------------------------------------------------------------------------------------------

## Results

Training and evaluation logs of the experimental results are provided for verification. Run *results/results.ipynb* in Jupyter Notebook to check the results by yourself.

---------------------------------------------------------------------------------------------------------

## Contact

luca.dellalib@gmail.com

---------------------------------------------------------------------------------------------------------