往期精彩内容:
Python轴承故障诊断 (14)高创新故障识别模型-CSDN博客
独家原创 | SCI 1区 高创新轴承故障诊断模型!-CSDN博客
基于 GADF+Swin-CNN-GAM 的高创新轴承故障诊断模型-CSDN博客
Python轴承故障诊断 (19)基于Transformer-BiLSTM的创新诊断模型-CSDN博客
Python轴承故障诊断 (20)高创新故障识别模型(三)-CSDN博客
视觉顶会论文 | 基于Swin Transformer的轴承故障诊断-CSDN博客
Python轴承故障诊断 | 多尺度特征交叉注意力融合模型-CSDN博客
SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用-CSDN博客
速发论文 | 基于 2D-SWinTransformer+1D-CNN-SENet并行故障诊断模型-CSDN博客
Python轴承故障诊断 (21)基于VMD-CNN-BiTCN的创新诊断模型-CSDN博客
基于改进1D-VGG模型的轴承故障诊断和t-SNE可视化-CSDN博客
故障诊断 | 创新模型更新:基于SSA-CNN-Transformer诊断模型-CSDN博客
独家首发 | 基于 2D-SwinTransformer + BiGRU-GlobalAttention的并行故障诊断模型-CSDN博客
位置编码祛魅 | 详解Transformer中位置编码Positional Encoding-CSDN博客
创新点 | 基于快速傅里叶卷积(FFC) 的故障诊断模型-CSDN博客
代码开源! | 变工况下的域对抗图卷积网络故障诊断-CSDN博客
超强 !顶会创新融合!基于 2D-SWinTransformer 的并行分类网络-CSDN博客
多模态-故障诊断 | 大核卷积开启视觉新纪元!-CSDN博客
超强!一区直接写!基于SSA+Informer-SENet故障诊断模型-CSDN博客
Transformer结构优势 ,How Much Attention Do You Need?-CSDN博客
故障诊断 | 一个小创新:特征提取+KAN分类-CSDN博客
图卷积故障诊断,新增GAT、SGCN、GIN分类模型-CSDN博客
故障诊断一区直接写,图卷积+BiGRU-Attention 并行诊断模型-CSDN博客
故障诊断高创新!基于1D-GRU+2D-MTF-ResNet-CBAM的多模态融合分类模型_基于1dcnn-informer+matt融合的故障诊断模型-CSDN博客
创新首发! | 基于1DCNN-Informer+MATT融合的故障诊断模型_论文复现基于 1dcnn bilstm 的航空发动机故障分类研究-CSDN博客
轴承故障特征---SHAP 模型 3D 可视化_shap值溯源模型-CSDN博客
时频图像/多模态+顶会论文创新,故障诊断发文不是梦!-CSDN博客
江南大学轴承故障诊断教程+1DVGG-6种注意力机制合集!-CSDN博客
轴承寿命预测全家桶更新!新增西交XJTU-SY数据集+预测模型合集_hxd3b 型电力机车轴承寿命预测实例中,一张该模型预测结果-CSDN博客
最强更新!西储大学(CWRU)轴承数据集保姆级教程!-CSDN博客
故障诊断 SCI 1 区直接写!基于GADF+SwinTransformer-CBAM+GRU的多模态融合分类模型-CSDN博客
故障诊断模型评估------混淆矩阵,如何使样本量一致(上)-CSDN博客
前言
本期基于凯斯西储大学(CWRU)轴承数据集,实现基 Python-Pytorch 框架的 DenseNet 网络的故障诊断算法流程实现。并更新在轴承故障诊断全家桶中,请同学们更新后按照视频教程进行运行学习!

● 数据集:凯斯西储大学(CWRU)轴承数据集
● 环境框架:python 3.11 pytorch 2.1 及其以上版本均可运行
● 准确率:测试集99%
● 使用对象:初学者、论文需求、毕业设计需求者
● 代码保证:代码注释详细、即拿即可跑通。
1 DenseNet 简介
1.1 模型简介
DenseNet(Densely Connected Convolutional Network)是一种由Gao Huang等人在2016年提出的深度卷积神经网络架构。其核心创新点在于引入"密集连接"(dense connectivity)机制,即网络中任意一层都直接连接到之前所有层的特征图。这种设计方式有效促进了特征复用和梯度流通,极大地缓解了深层网络中的梯度消失问题。

DenseNet通过将每层的输入特征与其前面所有层的输出特征进行拼接,增强了信息流动和特征的多样性,使得网络在参数数量相对较少的情况下仍能取得高性能表现。此外,DenseNet结构清晰,将网络划分为多个Dense Block和过渡层(Transition Layer),容易设计和扩展。
1.2 网络结构介绍
DenseNet 的结构设计独具特色,其核心构成主要包括以下几个部分:
(1)初始卷积层(Initial Convolution)
-
输入数据首先经过一个标准卷积层(通常是 7x7 大小,步幅为 2,或者更小的卷积核如 3x3),用于提取输入的初步特征,通常伴随 Batch Normalization 和 ReLU 激活。
-
接下来通常会使用最大池化(MaxPooling)减少空间尺寸。
(2)Dense Block(密集块)
-
核心模块,由多个密集层(Dense Layer)组成。
-
密集连接(Dense Connectivity):Dense Block 中的任意一层都会接收它之前所有层的特征图作为输入,输入是拼接(concatenate)形式的张量。
每个密集层包含以下顺序操作:
-
Batch Normalization
-
ReLU 激活
-
1×1 卷积(bottleneck 层,减小计算量)
-
Batch Normalization
-
ReLU 激活
-
3×3 卷积
每层产生固定数量的输出特征通道(增长率,growth rate),并将这些新特征与之前所有层特征拼接,传递给下一层。
(3)Transition Layer(过渡层)
用于连接两个 Dense Block,包含以下层:
-
Batch Normalization
-
1×1 卷积,用来减少特征通道数(常常将通道数压缩到原来的一半)
-
2×2 平均池化(Average Pooling),用于降采样 spatial尺寸
-
过渡层减小了特征图的大小和通道数,有助于控制模型复杂度和计算量。
DenseNet 这种紧密的连接方式和层叠结构,使其在多个计算机视觉任务中取得了卓越的性能,且参数利用效率高,训练更加稳定。
2 CWRU数据的预处理
2.1 导入数据
参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:

2.2 数据集预处理
通过滑动窗口制作数据集,并按照7:2:1均匀划分训练集、验证集、测试集,最后保存数据。

3 基于DenseNet的故障诊断模型
3.1 定义网络模型,设置参数,训练模型


50个epoch,准确率99%,用 DenseNet 网络分类效果显著,能够从故障信号特征中提取出对模型识别重要的特征,效果明显!应用展现出显著优势:
(1)高效特征提取能力
DenseNet 独特的密集连接结构能够充分利用从浅层到深层的多层特征信息,有效捕捉轴承振动信号中不同尺度的关键特征。这使得模型能够精准区分各种故障类型,如点蚀、磨损和裂纹等。
(2)缓解梯度消失,提高训练稳定性
深层神经网络在训练时常出现梯度消失问题,影响性能和收敛速度。DenseNet 通过层间密集连接促进梯度流动,使得模型训练更加稳定且收敛更快,有助于提高故障诊断的准确率。
(3)参数利用率高,适合资源受限环境
得益于特征复用,DenseNet 对参数的利用非常高效,相较传统深层网络,它的参数量更少但表现却更优。这一点对于需要嵌入式或边缘设备实现在线轴承监测的实际应用尤为重要。
综上,DenseNet 的结构优势使其成为轴承故障诊断领域的优秀选择,能够为工业设备维护提供更准确、实时、可靠的智能诊断方案,推动智能制造和设备健康管理的发展。
3.2 模型评估
(1)准确率、精确率、召回率、F1 Score

(2)故障10分类混淆矩阵:

4 代码、数据整理如下:

点击下方卡片获取代码!
