二维深度卷积网络模型下的轴承故障诊断

运行效果:二维深度卷积网络模型下的轴承故障诊断_哔哩哔哩_bilibili

代码运行环境要求

tensorlfow>=2.4.0

python>=3.6.0,

其他库版本无要求(可以远程协助运行)

1.数据集

使用凯斯西储大学轴承数据集,一共有4种负载下采集的数据,每种负载下有10种 故障状态:三种不同尺寸下的内圈故障、三种不同尺寸下的外圈故障、三种不同尺寸下的滚动体故障和一种正常状态

 2.模型(二维CNN)

使用数据增强的方式:重叠切割(每个样本长度是1024)

通过reshape的方式变形为二维的输入形式(32,32,1) 

3 实验效果

 0HP数据集(训练集与测试集比例为7:3),测试集准确率为99.60%

  1HP数据集(训练集与测试集比例为7:3),测试集准确率为99.66%

 

   2HP数据集(训练集与测试集比例为7:3),测试集准确率为99.66%

    3HP数据集(训练集与测试集比例为7:3),测试集准确率为100.00%

 

 对代码和数据感兴趣的可以关注最=后一行

import os
import sys
from scipy.io import loadmat
import numpy as np
import pandas as pd
import torch
from sklearn.model_selection import train_test_split
from tqdm import tqdm
from pandas import DataFrame
import tensorflow as tf
from keras.utils import np_utils
from matplotlib import pyplot as plt
#压缩包:https://mbd.pub/o/bread/ZJyUmppp

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一维卷积神经网络轴承故障诊断代码示例: ```python import numpy as np import pandas as pd import matplotlib.pyplot as plt from keras.models import Sequential from keras.layers import Conv1D, MaxPooling1D, Flatten, Dense, Dropout # 加载数据 data = pd.read_csv('bearing_data.csv') data = data.drop(['experiment_id', 'bearing_id', 'timestamp'], axis=1) data = data.values # 数据预处理 input_data = [] output_data = [] sequence_length = 1024 for i in range(len(data) - sequence_length): input_data.append(data[i:i+sequence_length]) output_data.append(data[i+sequence_length]) input_data = np.array(input_data) output_data = np.array(output_data) # 划分训练集和测试集 train_size = int(input_data.shape[0] * 0.8) x_train = input_data[:train_size] y_train = output_data[:train_size] x_test = input_data[train_size:] y_test = output_data[train_size:] # 构建模型 model = Sequential() model.add(Conv1D(filters=16, kernel_size=3, activation='relu', input_shape=(sequence_length, 4))) model.add(MaxPooling1D(pool_size=2)) model.add(Conv1D(filters=32, kernel_size=3, activation='relu')) model.add(MaxPooling1D(pool_size=2)) model.add(Flatten()) model.add(Dense(64, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(4, activation='linear')) # 编译模型 model.compile(loss='mse', optimizer='adam') # 训练模型 history = model.fit(x_train, y_train, epochs=50, batch_size=64, validation_data=(x_test, y_test)) # 绘制训练损失和测试损失曲线 plt.plot(history.history['loss'], label='train') plt.plot(history.history['val_loss'], label='test') plt.legend() plt.show() ``` 这是一个简单的一维卷积神经网络模型,用于轴承故障诊断。在这个代码示例中,我们加载了一个包含轴承故障数据的 CSV 文件,然后对数据进行预处理和划分训练集和测试集。接着,我们构建了一个包含两个卷积层的模型,并对模型进行编译和训练。最后,我们绘制了训练损失和测试损失曲线,以便评估模型的性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习的奋斗者

你的鼓励是我努力的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值