首页 > 编程语言 >带界面下的基于mscnn-bigru-attention深度学习模型江南大学轴承故障诊断(Python代码,很容易替换数据集)

带界面下的基于mscnn-bigru-attention深度学习模型江南大学轴承故障诊断(Python代码,很容易替换数据集)

时间:2024-11-04 15:44:37浏览次数:3  
标签:样本 Python 代码 attention mscnn magnitude half np data

 1。效果视频:基于mscnn-bigru-attention深度学习模型江南大学轴承故障诊断带界面_哔哩哔哩_bilibili

 2.江南大学轴承数据集介绍

采样频率:50khz,采样时间:10s

转速:600 800 1000/rpm

内圈故障:ib

外圈故障:ob

滚动体故障:tb

正常:N

 以600转速下的内圈故障数据为例展示:

开始数据

截止数据 

 

江南大学轴承数据集

3.文件夹

按照不同转速分成了三份数据集

以600转速为例,在600转速数据集里 

3.1.checkpoint文件保存的是训练好的模型参数,以供GUI调用,进行对未知数据进行诊断

 3.2.Data里面就是保存的原始数据

3.3.测试样本文件夹里面保存的样本数据集打乱后,形成的测试样本

每个样本具体形状:1024个点,因为对原始数据进行切割的时候,选择1024个点为一个样本(可以结合具体不同数据集,改变样本长度),也就是只要有1024个点的输入,GUI就可以诊断

3.4.测试样本真实标签:保存的是每个测试样本真实标签,目的是可以验证模型到底对某个样本预测是否正确。

3.5.code600是主程序:287行代码

主要有数据处理部分代码,模型的一些超参数(训练次数,批量,优化器,学习率等设置)代码,有准确率曲线可视化代码,损失曲线可视化代码,混淆矩阵(以样本个数和百分比呈现)代码,tnse可视化代码,梯形图可视化代码,F1-SCORE可视化代码。

3.6.confusion0和confusion1是混淆矩阵图

3.7.credentials是在GUI界面里点注册的时候,保存的注册账号和密码。

3.8.GUI.py文件:247行,主要有登录和注册的界面设计,有时域分析和频域分析( 时域的均值,方差,标准差,最大值和最小值,偏度,峰度指标,并写在时域图上。获取频率均值,频率峰峰值,频率方差,频率最大值,频率最小值并写在频域图上),还有调用保存好的模型对新的数据诊断,并依据诊断出来的类型给出建议代码

 # 计算时域统计指标
        mean_time = np.mean(data)
        var_time = np.var(data)
        std_time = np.std(data)
        max_time = np.max(data)
        min_time = np.min(data)
        skewness = scipy.stats.skew(data)
        kurtosis = scipy.stats.kurtosis(data)
       #频域指标
        magnitude = np.abs(fft_result)
        magnitude_half = magnitude[:len(frequencies)//2]
        mean_freq = np.mean(magnitude_half)
        peak_to_peak = np.max(magnitude_half) - np.min(magnitude_half)
        var_freq = np.var(magnitude_half)
        max_freq = np.max(magnitude_half)
        min_freq = np.min(magnitude_half)

3.9.mscnn-bigru-attention.py:保存的是mscnn-bigru-attention模型,目的是为了被code600.py和GUI调用,也可以把模型直接写在code600.py和GUI.py里面,但是显得累赘,所以把模型单独写在了一个脚本里。

4.效果

600rpm数据集下,总样本数:8000个样本,训练集与测试集比例:7:3

 800rpm数据集下,总样本数:8000个样本,训练集与测试集比例:7:3

1000rpm数据集下,总样本数:8000个样本,训练集与测试集比例:7:3

 

 

 

代码运行环境要求(可以用向日葵或者todesk远程)

tensorlfow==2.4.0

python==3.7.9,

其他库版本无要求

 

标签:样本,Python,代码,attention,mscnn,magnitude,half,np,data
From: https://blog.csdn.net/2301_79699110/article/details/143484940

相关文章

  • 《Python内置模块007:csv:读写CSV文件的模块》
    Python中常用于读写CSV文件的模块是csv。使用该模块可以轻松地读取和写入CSV文件。你可以通过以下方式导入该模块:importcsv有了这个模块,你可以使用csv.reader来读取CSV文件中的数据,并使用csv.writer来将数据写入CSV文件中一、常用方法csv.reader:用于读取CSV文件,将其内......
  • Mac安装python环境
    下载Python直接官网中https://www.python.org/python下载你需要的python版本双击运行安装程序,之后全部点击默认安装。(演示图中显示的文件夹是在废纸篓中,是因为作者已经安装成功,并删除安装程序,如果是使用浏览器默认下载,理论下安装程序是在“下载”文件夹中)执行完安装程序后,......
  • python-16-常见高级函数
    python-16-常见高级函数一.说明python中的基础系列中的关于函数部分,还有一些特殊函数叫高级函数,在真实项目中开发使用频率较高,说句人话,就是真香实用!。二.定义在Python中,高阶函数是指接受其他函数作为参数或返回一个函数的函数。高阶函数使得我们能够以更灵活和简洁的方......
  • 15个Python数据分析实用技巧(非常详细)零基础入门到精通,收藏这一篇就够了
    无论你是刚踏入数据分析大门的新手,还是希望深化技能的老手,这篇文章都将是你旅程中的良师益友。我们将一起探索十个实用的Python数据分析技巧,让你的数据处理能力飞速提升。1.导入数据:Pandas是你的好朋友技巧说明:Pandas库是数据分析的基础,它让数据导入变得轻松。实践示......
  • Python(logging.getLogger())
    目录1.基本功能2.日志记录器的层次结构3.示例代码4.典型用法5.重要特性6.其他相关函数logging.getLogger()是Python的logging模块中的一个函数,主要用于创建或获取一个日志记录器(logger)对象。logging模块是Python标准库中的一部分,旨在提供灵活的日志记录功能,用于......
  • python 自动化 excel数据筛选后发送outlook邮件
    importpandasaspdfromdatetimeimportdatetime,timedeltaimportwin32com.clientaswin32importos#导入os模块用于文件删除importglobimportopenpyxl#导入openpyxl模块用于单元格合并和格式化#定义文件路径和工作表名称及起始行file_path='要筛选的ex......
  • 总结---20个工作中一定会用到的python实用小脚本
    一、文件批量重命名功能:将指定文件夹下的所有文件按照一定规则进行重命名。使用方法:importos​defbatch_rename(folder_path,prefix):  files=os.listdir(folder_path)  forindex,file_nameinenumerate(files):    old_file_path=os.path.j......
  • (3)读<Bayesian Analysis with Python 3rd>Python上的贝叶斯分析,一次概率建模的实践指导。
    在我们开启第二章之前,先去回顾一下第一章的主要内容我们从对统计建模,概率、条件概率、随机变量以及概率分布的讨论,延申至贝叶斯理论的知识。我们紧接着用一个硬币的问题来介绍基础的贝叶斯模型和数据分析。我们用经典的骰子例子介绍贝叶斯统计中概率分布以及不确定性。我们尝......
  • Python—深浅拷贝(copy)
    1、浅拷贝(copy.copy)定义:浅拷贝创建(复制)一个新对象,该对象与原对象具有相同的值,但对可变类型字段只会复制引用地址,而不复制实际的对象。这意味着原对象和新对象的引用类型属性指向同一块内存。拷贝的程度浅,只拷贝原数据的首地址,然后通过原数据的首地址,去获取内容特点:不可变数......