Python轴承故障诊断 (18)基于CNN-TCN-Attention的创新诊断模型

embedded/2024/11/17 9:28:00/

 往期精彩内容:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理

Python轴承故障诊断 (一)短时傅里叶变换STFT

Python轴承故障诊断 (二)连续小波变换CWT_pyts 小波变换 故障-CSDN博客

Python轴承故障诊断 (三)经验模态分解EMD_轴承诊断 pytorch-CSDN博客

Pytorch-LSTM轴承故障一维信号分类(一)_cwru数据集pytorch训练-CSDN博客

Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客

Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客

Python轴承故障诊断 (四)基于EMD-CNN的故障分类-CSDN博客

Python轴承故障诊断 (五)基于EMD-LSTM的故障分类-CSDN博客

Python轴承故障诊断 (六)基于EMD-Transformer的故障分类-CSDN博客

Python轴承故障诊断 (七)基于EMD-CNN-LSTM的故障分类-CSDN博客

Python轴承故障诊断 (八)基于EMD-CNN-GRU并行模型的故障分类-CSDN博客

基于FFT + CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客

大甩卖-(CWRU)轴承故障诊数据集和代码全家桶-CSDN博客

Python轴承故障诊断 (九)基于VMD+CNN-BiLSTM的故障分类-CSDN博客

Python轴承故障诊断 (十)基于VMD+CNN-Transfromer的故障分类-CSDN博客

Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类-CSDN博客

交叉注意力融合时域、频域特征的FFT + CNN -BiLSTM-CrossAttention轴承故障识别模型-CSDN博客

交叉注意力融合时域、频域特征的FFT + CNN-Transformer-CrossAttention轴承故障识别模型-CSDN博客

轴承故障诊断 (12)基于交叉注意力特征融合的VMD+CNN-BiLSTM-CrossAttention故障识别模型-CSDN博客

Python轴承故障诊断入门教学-CSDN博客

Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客

Python轴承故障诊断 (14)高创新故障识别模型-CSDN博客

Python轴承故障诊断 (15)基于CNN-Transformer的一维故障信号识别模型-CSDN博客

轴承故障全家桶更新 | 基于时频图像的分类算法-CSDN博客

Python轴承故障诊断 (16)高创新故障识别模型(二)-CSDN博客

Python轴承故障诊断 (17)基于TCN-CNN并行的一维故障信号识别模型_pytorch使用tcn网络进行故障诊断 csdn-CSDN博客

独家原创 | SCI 1区 高创新轴承故障诊断模型!-CSDN博客

注意:本模型 和 基于VMD+CNN-BiGRU-Attenion的故障分类 继续加入 轴承故障诊断—创新模型全家桶 ,之前购买的同学请及时更新下载

全网最低价,创新网络分类效果显著,模型能够充分提取轴承故障信号的空间和时序特征和频域特征,收敛速度快,性能优越, 精度高。创新度也有!!!高性价比、高质量代码,大家可以了解一下:(所有全家桶模型会不断加入新的模型进行更新!后续会逐渐提高价格,越早购买性价比越高!!!

CNN-TCN-Attention模型:

输入数据维度为[32, 1, 1024], 先送入CNN网络进行1d的卷积池化提取空间特征,然后把卷积池化后的特征送入TCN层提取时序特征,最后通过自注意力进行多尺度特征融合,最终送入全连接层和softmax进行分类诊断。

前言

本文基于凯斯西储大学(CWRU)轴承数据,先经过数据预处理进行数据集的制作和加载,最后通过Pytorch实现CNN-TCN-Attention模型对故障数据的分类。凯斯西储大学轴承数据的详细介绍可以参考下文:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理_load(hp)-CSDN博客

1 轴承数据加载与预处理

1.1 导入数据

参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:

train_set、val_set、test_set 均为按照7:2:1划分训练集、验证集、测试集,最后保存数据

上图是数据的读取形式以及预处理思路

1.2 数据预处理,制作数据集

2 基于Pytorch的CNN-TCN-Attention创新诊断模型

2.1 定义CNN-TCN-Attention分类网络模型

2.2 设置参数,训练模型

50个epoch,准确率将近98%,CNN-TCN-Attention网络分类效果显著,CNN-TCN-Attention模型能够充分提取轴承故障信号的多尺度特征,收敛速度快,性能特别优越,效果明显。

注意调整参数:

  • 可以适当增加 TCN层数和每层维度数,微调学习率;

  • 微调CNN层数和每层神经元个数,增加更多的 epoch (注意防止过拟合)

  • 可以改变一维信号堆叠的形状(设置合适的长度和维度)

2.3 模型评估

准确率、精确率、召回率、F1 Score

故障十分类混淆矩阵:

代码、数据如下:

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

python"># 加载数据
import torch
from joblib import dump, load
import torch.utils.data as Data
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
# 参数与配置
torch.manual_seed(100)  # 设置随机种子,以使实验结果具有可重复性
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")#代码和数据集:https://mbd.pub/o/bread/ZZ2Wm5Zs


http://www.ppmy.cn/embedded/37049.html

相关文章

MySQL 高级 - 第七章 | 索引的数据结构

目录 一、为什么使用索引二、什么是索引2.1 索引的概述2.2 索引的优缺点 三、InnoDB 中索引的推演3.1 InnoDB 页简介3.2 没有索引的查找3.3 设计索引3.3.1 一个简单的索引设计方案3.3.2 InnoDB 中索引方案① 迭代 1 次:目录项记录的页② 迭代 2 次:多个目…

C++语法|模板的完全特例化和非完全特例化

首先明确一点,有模板的特例化,就必须得先有原模板。 什么是完全特例化 这里直接举一个例子。 首先写一个函数模板,这个函数应该能够比较整型数,并且应该按照字典序大小比较字符串,但是本题如果直接调用compare(&quo…

FFmpeg———encode_video(学习)

目录 前言源码函数最终效果 前言 encode_video:实现了对图片使用指定编码进行编码,生成可播放的视频流,编译时出现了一些错误,做了一些调整。 基本流程: 1、获取指定的编码器 2、编码器内存申请 3、编码器上下文内容参数设置 4、…

NVME Doorbell 寄存器 数据请求时doorbell 处理

3.NVMe寄存器配置 3.1 寄存器定义 NVMe寄存器主要分为两部分,一部分定义了Controller整体属性,一部分用来存放每组队列的头尾DB寄存器。 CAP——控制器能力,定义了内存页大小的最大最小值、支持的I/O指令集、DB寄存器步长、等待时间界限、仲…

剧本杀小程序,为商家带来更多收益

剧本杀作为一种社交类游戏,关注度越来越高,目前,市场上剧本杀依然呈现上升发展趋势。 不过当下,在剧本杀市场中,大部分商家都开始使用小程序管理运营剧本杀。相对于线下剧本杀,线上剧本杀小程序便于商家管…

Day 25 数据库查询

数据库查询 一:基本查询 1.简介 ​ 单表查询 ​ 简单查询 ​ 通过条件查询 ​ 查询排序 ​ 限制查询记录数 ​ 使用集合函数查询 ​ 分组查询 ​ 使用正则表达式查询 2.案例 创建案例所需表:company.employee5 雇员编号 id int雇…

ffmpeg7.0 flv支持hdr

ffmpeg7.0 flv支持hdr 自从ffmpeg6.0应用enhance rtmp支持h265/av1的flv格式后,7.0迎来了flv的hdr能力。本文介绍ffmpeg7.0如何支持hdr in flv。 如果对enhance rtmp如何支持h265不了解,推荐详解Enhanced-RTMP支持H.265 1. enhance rtmp关于hdr 文档…

Vue3专栏项目 -- 一、第一个页面(上)

一、ColumnList 组件(专栏列表组件)编码: 该组件要接收一个数组,数组中是一个个专栏数据,数据中包括id、title、avator、description。所以我们定义一个泛型,泛型为id为number类型title为string类型如下这…