Application of Transfer Learning for RUL Prediction.
- Encode time series into 2D image.
- Merge 2D images to have one image as an input for CNN.
- Evalute widely used CNN architectures with the above data
- Apply transfer learning
You can download the benchmark dataset used in our experiments, C-MAPSS from here. The files should be placed in /cmapss folder. The library has the following dependencies:
pip3 install -r requirements.txt
-pandas
-numpy
-matplotlib
-seaborn
-sklearn
-pyts
-scikit-learn
-tensorflow-gpu
- main.py: launcher for the experiments.
- rp_creator.py
- network.py
Please launch the experiments by
python3 main.py -i dataset -l sequence_legnth
– i : input subdataset (1 for FD001... 4 for FD004)
– l : sequence length of time series for each rp
--method : default='rps', help='method for encoding ts into img'
--thres_type : default='distance', help='threshold type for RPs: distance or point'
--thres_value : default=50, help='percentage of maximum distance or black points for threshold'
--n_hidden1 : default=100, help='number of neurons in the first hidden layer'
--n_hidden2 : default=10, help='number of neurons in the second hidden layer'
--epochs : default=1000, help='number epochs for network training'
--batch : default=700, help='batch size of BPTT training'
You can check all the other arguments and their details by
python3 main.py -h
For example,
python3 main.py -i 1 -l 30 --method rps --epochs 1000
After running the code, you will get the results in RMSE & Score on test data
Time series of the first engine (generated by run to faulure simulation) in training set
Sliced time series with fixed length (so called sequence) right before the engine failure