针对CWRU数据集的处理方法
新增读取测试文件
新增批运行文件
col_name.py: 存储了数据文件的名称,以及对应需要提取的列名称,以字典的形式存储。
process.py: 用于处理CWRU数据的程序。运行时传入参数,可决定是生成四分类数据还是十分类数据。参数说明如下:
root_dir: 存放CWRU数据的根目录
device: 设备源。FE: Fan End, DE: Driver End
freq: 故障数据的采样率,12k, 48k。可用于区分文件目录。
nclass: 分类数目,4分类或10分类
input_len: 切分数据集时单个样本的切分长度
stride: 步长,0-1区间
数据太大,因此没有上传。有需要的可以从此处下载。此处给出raw_data目录中的目录结构,便于理解和运行。
raw_data
├─ Normal Baseline
│ ├─ normal_0.mat
│ ├─ normal_1.mat
│ ├─ normal_2.mat
│ └─ normal_3.mat
├─ 48k Drive End Bearing Fault Data
│ ├─ Outer Race
│ │ ├─ 0021
│ │ │ ├─ OR021@12_0.mat
│ │ │ ├─ OR021@12_1.mat
│ │ │ ├─ OR021@12_2.mat
│ │ │ ├─ OR021@12_3.mat
│ │ │ ├─ OR021@3_0.mat
│ │ │ ├─ OR021@3_1.mat
│ │ │ ├─ OR021@3_2.mat
│ │ │ ├─ OR021@3_3.mat
│ │ │ ├─ OR021@6_0.mat
│ │ │ ├─ OR021@6_1.mat
│ │ │ ├─ OR021@6_2.mat
│ │ │ └─ OR021@6_3.mat
│ │ ├─ 0014
│ │ │ ├─ OR014@6_0.mat
│ │ │ ├─ OR014@6_1.mat
│ │ │ ├─ OR014@6_2.mat
│ │ │ └─ OR014@6_3.mat
│ │ └─ 0007
│ │ ├─ OR007@12_0.mat
│ │ ├─ OR007@12_1.mat
│ │ ├─ OR007@12_2.mat
│ │ ├─ OR007@12_3.mat
│ │ ├─ OR007@3_0.mat
│ │ ├─ OR007@3_1.mat
│ │ ├─ OR007@3_2.mat
│ │ ├─ OR007@3_3.mat
│ │ ├─ OR007@6_0.mat
│ │ ├─ OR007@6_1.mat
│ │ ├─ OR007@6_2.mat
│ │ └─ OR007@6_3.mat
│ ├─ Inner Race
│ │ ├─ 0021
│ │ │ ├─ IR021_0.mat
│ │ │ ├─ IR021_1.mat
│ │ │ ├─ IR021_2.mat
│ │ │ └─ IR021_3.mat
│ │ ├─ 0014
│ │ │ ├─ IR014_0.mat
│ │ │ ├─ IR014_1.mat
│ │ │ ├─ IR014_2.mat
│ │ │ └─ IR014_3.mat
│ │ └─ 0007
│ │ ├─ IR007_0.mat
│ │ ├─ IR007_1.mat
│ │ ├─ IR007_2.mat
│ │ └─ IR007_3.mat
│ └─ Ball
│ ├─ 0021
│ │ ├─ B021_0.mat
│ │ ├─ B021_1.mat
│ │ ├─ B021_2.mat
│ │ └─ B021_3.mat
│ ├─ 0014
│ │ ├─ B014_0.mat
│ │ ├─ B014_1.mat
│ │ ├─ B014_2.mat
│ │ └─ B014_3.mat
│ └─ 0007
│ ├─ B007_0.mat
│ ├─ B007_1.mat
│ ├─ B007_2.mat
│ └─ B007_3.mat
├─ 12k Fan End Bearing Fault Data
│ ├─ Outer Race
│ │ ├─ 0021
│ │ │ ├─ OR021@3_1.mat
│ │ │ ├─ OR021@3_2.mat
│ │ │ ├─ OR021@3_3.mat
│ │ │ └─ OR021@6_0.mat
│ │ ├─ 0014
│ │ │ ├─ OR014@3_0.mat
│ │ │ ├─ OR014@3_1.mat
│ │ │ ├─ OR014@3_2.mat
│ │ │ ├─ OR014@3_3.mat
│ │ │ └─ OR014@6_0.mat
│ │ └─ 0007
│ │ ├─ OR007@12_0.mat
│ │ ├─ OR007@12_1.mat
│ │ ├─ OR007@12_2.mat
│ │ ├─ OR007@12_3.mat
│ │ ├─ OR007@3_0.mat
│ │ ├─ OR007@3_1.mat
│ │ ├─ OR007@3_2.mat
│ │ ├─ OR007@3_3.mat
│ │ ├─ OR007@6_0.mat
│ │ ├─ OR007@6_1.mat
│ │ ├─ OR007@6_2.mat
│ │ └─ OR007@6_3.mat
│ ├─ Inner Race
│ │ ├─ 0021
│ │ │ ├─ IR021_0.mat
│ │ │ ├─ IR021_1.mat
│ │ │ ├─ IR021_2.mat
│ │ │ └─ IR021_3.mat
│ │ ├─ 0014
│ │ │ ├─ IR014_0.mat
│ │ │ ├─ IR014_1.mat
│ │ │ ├─ IR014_2.mat
│ │ │ └─ IR014_3.mat
│ │ └─ 0007
│ │ ├─ IR007_0.mat
│ │ ├─ IR007_1.mat
│ │ ├─ IR007_2.mat
│ │ └─ IR007_3.mat
│ └─ Ball
│ ├─ 0021
│ │ ├─ B021_0.mat
│ │ ├─ B021_1.mat
│ │ ├─ B021_2.mat
│ │ └─ B021_3.mat
│ ├─ 0014
│ │ ├─ B014_0.mat
│ │ ├─ B014_1.mat
│ │ ├─ B014_2.mat
│ │ └─ B014_3.mat
│ └─ 0007
│ ├─ B007_0.mat
│ ├─ B007_1.mat
│ ├─ B007_2.mat
│ └─ B007_3.mat
└─ 12k Drive End Bearing Fault Data
├─ Outer Race
│ ├─ 0021
│ │ ├─ OR021@12_0.mat
│ │ ├─ OR021@12_1.mat
│ │ ├─ OR021@12_2.mat
│ │ ├─ OR021@12_3.mat
│ │ ├─ OR021@3_0.mat
│ │ ├─ OR021@3_1.mat
│ │ ├─ OR021@3_2.mat
│ │ ├─ OR021@3_3.mat
│ │ ├─ OR021@6_0.mat
│ │ ├─ OR021@6_1.mat
│ │ ├─ OR021@6_2.mat
│ │ └─ OR021@6_3.mat
│ ├─ 0014
│ │ ├─ OR014@6_0.mat
│ │ ├─ OR014@6_1.mat
│ │ ├─ OR014@6_2.mat
│ │ └─ OR014@6_3.mat
│ └─ 0007
│ ├─ OR007@12_0.mat
│ ├─ OR007@12_1.mat
│ ├─ OR007@12_2.mat
│ ├─ OR007@12_3.mat
│ ├─ OR007@3_0.mat
│ ├─ OR007@3_1.mat
│ ├─ OR007@3_2.mat
│ ├─ OR007@3_3.mat
│ ├─ OR007@6_0.mat
│ ├─ OR007@6_1.mat
│ ├─ OR007@6_2.mat
│ └─ OR007@6_3.mat
├─ Inner Race
│ ├─ 0028
│ │ ├─ IR028_0.mat
│ │ ├─ IR028_1.mat
│ │ ├─ IR028_2.mat
│ │ └─ IR028_3.mat
│ ├─ 0021
│ │ ├─ IR021_0.mat
│ │ ├─ IR021_1.mat
│ │ ├─ IR021_2.mat
│ │ └─ IR021_3.mat
│ ├─ 0014
│ │ ├─ IR014_0.mat
│ │ ├─ IR014_1.mat
│ │ ├─ IR014_2.mat
│ │ └─ IR014_3.mat
│ └─ 0007
│ ├─ IR007_0.mat
│ ├─ IR007_1.mat
│ ├─ IR007_2.mat
│ └─ IR007_3.mat
└─ Ball
├─ 0028
│ ├─ B028_0.mat
│ ├─ B028_1.mat
│ ├─ B028_2.mat
│ └─ B028_3.mat
├─ 0021
│ ├─ B021_0.mat
│ ├─ B021_1.mat
│ ├─ B021_2.mat
│ └─ B021_3.mat
├─ 0014
│ ├─ B014_0.mat
│ ├─ B014_1.mat
│ ├─ B014_2.mat
│ └─ B014_3.mat
└─ 0007
├─ B007_0.mat
├─ B007_1.mat
├─ B007_2.mat
└─ B007_3.mat
一级目录根据CWRU官网中的链接进行划分。
二级目录根据故障类型进行划分,即Ball, Inner Race, Outer Race
三级目录根据直径划分,即0.007, 0.014, 0.021, 0.028
*.mat文件的名称根据官网中的数据进行了命名,更加直观
python process.py --nclass 4 --device FE --input_len 512 --stride 0.5
本数据处理方法是为了使用BasicTS做时序分类,因此增加了description文件,可根据需要删除。