轴承故障诊断经典模型pytorch复现(一)——WDCNN

这篇具有很好参考价值的文章主要介绍了轴承故障诊断经典模型pytorch复现(一)——WDCNN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文地址:《A New Deep Learning Model for Fault Diagnosis with Good Anti-Noise and Domain Adaptation Ability on Raw Vibration Signals》—张伟
我们要复现的论文是轴承故障诊断里比较经典的一个模型WDCNN,最近在看的很多论文都把WDCNN作为比较模型,但是只找到过tensorflow版本的源码且只有原始的WDCNN没有改进的WDCNN-AdaBN版本,而我自己又是用的pytorch,因此就打算自己复现一下。话不多说直接上代码。
WDCNN:
轴承故障诊断经典模型pytorch复现(一)——WDCNN

#!/usr/bin/python
# -*- coding:utf-8 -*-
import torch
from torch import nn
import warnings


# ----------------------------inputsize >=28-------------------------------------------------------------------------
class WDCNN(nn.Module):
    def __init__(self, in_channel=1, out_channel=10):
        super(WDCNN, self).__init__()


        self.layer1 = nn.Sequential(
            nn.Conv1d(in_channel, 16, kernel_size=64,stride=16,padding=24),  
            nn.BatchNorm1d(16),
            nn.ReLU(inplace=True),

            nn.MaxPool1d(kernel_size=2,stride=2)
            )

        self.layer2 = nn.Sequential(
            nn.Conv1d(16, 32, kernel_size=3,padding=1), 
            nn.BatchNorm1d(32),
            nn.ReLU(inplace=True),
            nn.MaxPool1d(kernel_size=2, stride=2))  

        self.layer3 = nn.Sequential(
            nn.Conv1d(32, 64, kernel_size=3,padding=1),  
            nn.BatchNorm1d(64),
            nn.ReLU(inplace=True),
            nn.MaxPool1d(kernel_size=2, stride=2)
        )  # 32, 12,12     (24-2) /2 +1

        self.layer4 = nn.Sequential(
            nn.Conv1d(64, 64, kernel_size=3,padding=1),  
            nn.BatchNorm1d(64),
            nn.ReLU(inplace=True),
            nn.MaxPool1d(kernel_size=2, stride=2)
        )  # 32, 12,12     (24-2) /2 +1

        self.layer5 = nn.Sequential(
            nn.Conv1d(64, 64, kernel_size=3),  
            nn.BatchNorm1d(64),
            nn.ReLU(inplace=True),
            nn.MaxPool1d(kernel_size=2, stride=2)
            # nn.AdaptiveMaxPool1d(4)
        )  # 32, 12,12     (24-2) /2 +1

        self.fc=nn.Sequential(
            nn.Linear(192, 100),
            nn.ReLU(inplace=True),
            nn.Linear(100, out_channel)
        )


    def forward(self, x):
        # print(x.shape)
        x = self.layer1(x) #[16 64]
        # print(x.shape)
        x = self.layer2(x)  #[32 124]
        # print(x.shape)
        x = self.layer3(x)#[64 61]
        # print(x.shape)
        x = self.layer4(x)#[64 29]
        # print(x.shape)
        x = self.layer5(x)#[64 13]
        # print(x.shape)
        x = x.view(x.size(0), -1)
        x = self.fc(x)
        return x

WDCNN在CWRU数据集上的表现,效果相当的好嘛。
轴承故障诊断经典模型pytorch复现(一)——WDCNN
轴承故障诊断经典模型pytorch复现(一)——WDCNN
轴承故障诊断经典模型pytorch复现(一)——WDCNN
轴承故障诊断经典模型pytorch复现(一)——WDCNN文章来源地址https://www.toymoban.com/news/detail-510804.html

到了这里,关于轴承故障诊断经典模型pytorch复现(一)——WDCNN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CNN网络的故障诊断(轴承的多故障类型分类+Python代码)

            卷积神经网络作为深度学习的经典算法之一,凭借局部连接和权值共享的优点,有效地降低了传统神经网络的复杂度。卷积神经网络结构由输入层、卷积层、池化层、全连接层和输出层等构成。 图 卷积神经网络          卷积层采用多组卷积核与输入层进行卷

    2024年02月07日
    浏览(34)
  • Python轴承故障诊断 (五)基于EMD-LSTM的故障分类

    目录 前言 1 经验模态分解EMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 2.3 故障数据的EMD分解可视化 2.4 故障数据的EMD分解预处理 3 基于EMD-LSTM的轴承故障诊断分类 3.1 训练数据、测试数据分组,数据分batch 3.2 定义EMD-LSTM分类网络模型 3.3 设置

    2024年02月04日
    浏览(35)
  • Python轴承故障诊断 (四)基于EMD-CNN的故障分类

    目录 前言 1 经验模态分解EMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 2.3 故障数据的EMD分解可视化 2.4 故障数据的EMD分解预处理 3 基于EMD-CNN的轴承故障诊断分类 3.1 训练数据、测试数据分组,数据分batch 3.2 定义EMD-VGG1d网络模型 3.3 设置参数

    2024年04月27日
    浏览(26)
  • 轴承故障诊断系统的需求说明,仅供参考使用

    项目名称:轴承故障诊断系统 项目目标 开发一个自动化系统,用于测试和诊断工业轴承的潜在故障。系统将通过分析从轴承收集的振动数据来检测异常模式,以预测故障并提供维护建议。 硬件需求 传感器 :高精度振动传感器,型号:Honeywell 78628/1NC。 数据采集卡 :NI PXI-

    2024年01月23日
    浏览(30)
  • Python轴承故障诊断 (二)连续小波变换CWT

    目录 前言 1 连续小波变换CWT原理介绍 1.1 CWT概述 1.2 CWT的原理和本质 2 基于Python的CWT实现与参数对比 2.1 代码示例 2.2 参数介绍和选择策略 2.2.1 尺度长度: 2.2.2 小波函数(wavelet): 2.3 凯斯西储大学轴承数据的加载 2.4 CWT与参数选择对比 2.4.1 基于尺度为128,选择内圈数据比

    2024年01月16日
    浏览(36)
  • Python轴承故障诊断 (一)短时傅里叶变换STFT

    目录 前言 1 短时傅里叶变换STFT原理介绍 1.1 傅里叶变换的本质 1.2 STFT概述 1.3 STFT的原理和过程 1.3.1 时间分割 1.3.2 傅里叶变换 1.3.3 时频图: 1.4 公式表示 2 基于Python的STFT实现与参数对比 2.1 代码示例 2.2 参数选择和对比 2.2.1 nperseg(窗口长度): 2.2.2 noverlap(重叠长度): 2

    2024年02月03日
    浏览(30)
  • Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类

    目录 往期精彩内容: 前言 模型整体结构 1 变分模态分解VMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 故障VMD分解可视化 2.3 故障数据的VMD分解预处理 3 基于VMD-CNN-BiGRU-Attenion的轴承故障诊断分类 3.1 定义VMD-CNN-BiGRU-Attenion分类网络模型 3.2 设置参数,训练模型 3.3 模

    2024年01月19日
    浏览(36)
  • 基于通道注意机制联合多尺度卷积神经网络的滚动轴承故障诊断

    实验数据采用的是美国凯斯西储大学(CWRU)轴承数据中心的SKF型轴承的DE驱动端加速度数据,其中选用采样频率为48kHz,载荷为1hp的加速度数据进行实验分析,根据损伤部位的不同,分为滚动体、内圈、外圈六点钟方向故障,故样本共有10类。其次,对所选择的数据进行划分,首

    2024年02月13日
    浏览(30)
  • 基于冯洛伊曼拓扑的鲸鱼算法用于滚动轴承的故障诊断研究(Matlab代码实现)

    👨‍🎓 个人主页: 研学社的博客 💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳ 座右铭: 行百里者,半于九十。 📋 📋 📋 本文目录如下: 🎁 🎁 🎁 目录 💥1 概述 📚2 运行结果

    2023年04月09日
    浏览(26)
  • 论文阅读 1| 从仿真域到实验域无监督轴承故障诊断的新型联合传输网络

    标题: Novel Joint Transfer Network for Unsupervised Bearing Fault Diagnosis From Simulation Domain to Experimental Domain 期刊:IEEE-ASME TRANSACTIONS ON MECHATRONICS      (2022) 作者:Yiming Xiao, Haidong Shao,SongYu Han, Zhiqiang Huo,and Jiafu Wan 解决的问题 :迁移诊断场景仅限于实验域,跨 域边缘分布和条件分

    2024年01月24日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包