news 2026/6/16 3:14:43

Python环境下基于WDCNN的滚动轴承故障诊断:创新与拓展

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python环境下基于WDCNN的滚动轴承故障诊断:创新与拓展

Python环境下一种基于WDCNN的滚动轴承故障诊断方法 算法采用pytorch深度学习模块,对WDCNN进行改进,搭建了卷积核大小逐层递减的一维卷积神经网络,并减少了卷积层数量,达到了98%以上的诊断准确率,同时有着较快的收敛速度。 另外,针对时序信号的特点,将长短时记忆网络(LSTM)与搭建的一维卷积神经网络结合,提高分类准确率至99%以上,但收敛速度较单一的卷积神经网络较慢。 算法可迁移至金融时间序列,地震信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等一维时间序列信号。

在Python环境里,基于WDCNN的滚动轴承故障诊断方法有了新的进展。这次采用了pytorch深度学习模块对WDCNN进行优化,带来了意想不到的效果。

先看看对WDCNN的改进。我们搭建了一种卷积核大小逐层递减的一维卷积神经网络,还减少了卷积层数量。这听起来简单,实际操作起来有不少门道。下面是一段简单的搭建代码示例(仅为示意,实际需结合完整项目调整):

import torch import torch.nn as nn class CustomCNN(nn.Module): def __init__(self): super(CustomCNN, self).__init__() self.conv1 = nn.Conv1d(in_channels=1, out_channels=16, kernel_size=8) self.conv2 = nn.Conv1d(in_channels=16, out_channels=32, kernel_size=6) # 这里体现了卷积核大小逐层递减 self.relu = nn.ReLU() self.pool = nn.MaxPool1d(kernel_size=2) self.fc1 = nn.Linear(32 * (256 - 7), 128) self.fc2 = nn.Linear(128, 2) def forward(self, x): out = self.conv1(x) out = self.relu(out) out = self.pool(out) out = self.conv2(out) out = self.relu(out) out = self.pool(out) out = out.view(-1, 32 * (256 - 7)) out = self.fc1(out) out = self.relu(out) out = self.fc2(out) return out

这段代码里,conv1conv2kernel_size分别设置为8和6,展现了卷积核大小递减的特点。通过这种方式,模型能够在捕捉信号特征时,从相对较大尺度逐渐过渡到精细尺度,有效提取不同层次的信息。减少卷积层数量则是在保证特征提取能力的前提下,降低模型复杂度,提高训练效率。最终,这样的改进让诊断准确率达到了98%以上,而且收敛速度较快。这意味着模型能够在较短的训练时间内达到较高的诊断精度,对于实际应用来说非常关键。

Python环境下一种基于WDCNN的滚动轴承故障诊断方法 算法采用pytorch深度学习模块,对WDCNN进行改进,搭建了卷积核大小逐层递减的一维卷积神经网络,并减少了卷积层数量,达到了98%以上的诊断准确率,同时有着较快的收敛速度。 另外,针对时序信号的特点,将长短时记忆网络(LSTM)与搭建的一维卷积神经网络结合,提高分类准确率至99%以上,但收敛速度较单一的卷积神经网络较慢。 算法可迁移至金融时间序列,地震信号,语音信号,声信号,生理信号(ECG,EEG,EMG)等一维时间序列信号。

接着,针对时序信号的特点,又玩出了新花样。把长短时记忆网络(LSTM)和搭建的一维卷积神经网络结合起来。LSTM擅长处理时间序列中的长期依赖关系,与卷积神经网络优势互补。以下是简单的结合代码片段:

class CNNLSTM(nn.Module): def __init__(self): super(CNNLSTM, self).__init__() self.cnn = CustomCNN() self.lstm = nn.LSTM(input_size=2, hidden_size=64, num_layers=2, batch_first=True) self.fc = nn.Linear(64, 2) def forward(self, x): out = self.cnn(x) out = out.view(out.size(0), -1, 2) out, _ = self.lstm(out) out = out[:, -1, :] out = self.fc(out) return out

这里先通过之前定义的CustomCNN提取特征,然后将其输出调整维度后输入到LSTM中。LSTM进一步对时间序列特征进行处理,最后通过全连接层fc输出分类结果。这种结合方式把分类准确率提高到了99%以上,但收敛速度比单一的卷积神经网络要慢一些。毕竟增加了LSTM层,模型复杂度有所上升,训练时间自然会变长。

有趣的是,这个算法可不局限于滚动轴承故障诊断。它还能迁移到金融时间序列、地震信号、语音信号、声信号以及生理信号(ECG、EEG、EMG)等一维时间序列信号领域。比如在金融时间序列分析中,可以利用该算法预测股票价格走势;在生理信号处理方面,或许能辅助医生进行疾病诊断。这展现了该算法强大的通用性和适应性,为多个领域的时间序列分析提供了新的思路和方法。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 21:02:24

汽车制造企业使用Web编辑器导入Excel参数表时,如何生成动态图表?

企业网站后台管理系统富文本编辑器功能扩展开发记录 一、需求分析与技术选型 作为北京某软件公司的前端开发工程师,近期接到客户需求:在企业网站后台管理系统的文章发布模块中增加Word粘贴、Word文档导入以及微信公众号内容粘贴功能。经过详细分析&…

作者头像 李华
网站建设 2026/6/10 17:31:25

导师严选10个AI论文写作软件,研究生高效写作必备!

导师严选10个AI论文写作软件,研究生高效写作必备! AI 工具如何助力论文写作?高效与精准的双重保障 在研究生阶段,论文写作是每位学生必须面对的重要任务。随着人工智能技术的不断进步,越来越多的 AI 工具被引入到学术…

作者头像 李华
网站建设 2026/6/13 20:24:57

stm32f407 SD卡升级 bootloader程序 基于sdio fatfs系统的stm32

stm32f407 SD卡升级 bootloader程序 基于sdio fatfs系统的stm32 bootloader程序 功能简介: 本程序使用fatfs系统读取bin文件。 开机后会自动检测sd卡,检测到sd卡后,再读取固定名称的bin文件,之后会对bin文件进行首包校验&#xf…

作者头像 李华
网站建设 2026/6/15 16:31:33

蛋白质测序常见问题汇总(一)

蛋白质测序常见问题汇总(一)蛋白质研究常常涉及到蛋白质鉴定以及对蛋白质的序列研究,而刚接触蛋白测序方面的新手往往会遇到各种各样的问题,在这期小编给大家贴心汇总了有关蛋白质测序大家比较关心的一些问题,希望对大…

作者头像 李华
网站建设 2026/6/13 22:39:43

金融风控系统通过Web编辑器导入Word报告时,如何保留修订痕迹?

广东某国企项目负责人技术选型与开发实施记录 一、需求背景与核心目标 为满足政府客户在企业网站后台管理系统升级需求,需在UEditor富文本编辑器中扩展三大功能: Word粘贴增强:支持图文混排、样式保留、图片自动上传至华为云OBSOffice文档…

作者头像 李华