科大讯飞-旋转机械故障诊断挑战赛2023-测试【1】

news2024/11/27 18:39:42

引言
旋转机械故障诊断挑战赛是一项旨在提高旋转机械故障检测和识别能力的竞赛活动。旋转机械是工业生产中广泛应用的设备,其运行状态直接影响着生产效率和安全性。然而,由于各种原因,旋转机械可能会出现不同类型的故障,如轴承损坏、齿轮磨损、转子不对中等。这些故障会导致设备性能下降甚至停机,给企业带来巨大的经济损失和安全风险。因此,及时准确地诊断旋转机械的故障类型,对于保证设备正常运行和延长设备寿命具有重要意义。本博客针对科大讯飞旋转机械故障诊断挑战赛提供的振动和噪声数据集,构建并测试了深度学习和时频分析方法在这一赛事上的可行性。


科大讯飞-旋转机械故障诊断挑战赛2023-测试【1】

  • 1. 赛事任务简介
  • 2. 不同类型数据的可视化测试
  • 3. 生成的时频数据集测试
  • 4. 训练测试
  • 5. 参考资料

1. 赛事任务简介

本赛事任务是:基于科大讯飞以及国家智能语音创新中心提供的转子综合故障模拟实验台数据集,构建故障诊断模型,利用振动及声音数据对外圈点蚀、滚动体点蚀、转子不对中等故障进行检测。

2. 不同类型数据的可视化测试

首先,遍历读取下不同工况下的数据,看下其频谱情况

# create a figure with 1 row and 5 columns of subplots
fig, axs = plt.subplots(5, 5, figsize=(15, 10))
###########################################################################################################
# iterate over each file and plot its spectrogram on a different subplot (Cage)
for i, file in enumerate(file_list1):
    y, sr = librosa.load(os.path.join(path1, file), duration=2)

    S = librosa.feature.melspectrogram(y=y, sr=sr, n_mels=128,
                                       fmax=8000)
    S_dB = librosa.power_to_db(S, ref=np.max)
    librosa.display.specshow(S_dB, x_axis='time',
                             y_axis='mel', sr=sr,
                             fmax=8000, ax=axs[0,i])

    axs[0,i].set_title(f'Cage {i+1}')

在这里插入图片描述

3. 生成的时频数据集测试

循环遍历生成所需的数据

# 单个信号读取生成TF图像
def single_TF_gen(root_path, save_path):
    ful_name = root_path
    fs = 5120
    fmax = 2048
    mat_data = scipy.io.loadmat(ful_name)
    vib_data = mat_data['vib_data'].flatten()
    S = librosa.feature.melspectrogram(y=vib_data, sr=fs, n_mels=128,
                                       fmax=fmax)

    S_dB = librosa.power_to_db(S, ref=np.max)
    librosa.display.specshow(S_dB, x_axis='time',
                             y_axis='mel', sr=fs,
                             fmax=fmax)
    plt.axis('off')
    plt.tight_layout()
    tail_name = ful_name.split("\\")[-1]
    new_name = tail_name.split(".")[0]+".png"
    root_new_name = os.path.join(save_path, new_name)
    plt.savefig(root_new_name)

在这里插入图片描述

4. 训练测试

这里随便构建了一个简单的MobileNetv2轻量级深度卷积模型测试了一下

model = torchvision.models.mobilenet_v2(weights=True, progress=False)
num_classes = 3
# 提取fc层中固定的参数
num_ftrs = model.classifier[1].in_features
model.classifier = nn.Sequential(
        # nn.Dropout(0.3),
        nn.Linear(num_ftrs, num_classes),
    )

输入数据resize到了128x128的大小,测试224x224的时候爆显存了,, 训练日志如下:

训练集数据量:2400, 验证集数据量:2400,测试集数据量:290
tran_tensor:(2400, 3, 144, 144);val_tensor:(2400, 3, 144, 144)
Epoch: 1 	Training Loss: 1.862576
Epoch: 1 	Validation Loss: 5.066102, Accuracy: 0.220417
Model saved with validation accuracy: 0.2204
Epoch: 2 	Training Loss: 1.293744
Epoch: 2 	Validation Loss: 2.639574, Accuracy: 0.300417
Model saved with validation accuracy: 0.3004
Epoch: 3 	Training Loss: 0.800851
Epoch: 3 	Validation Loss: 2.994601, Accuracy: 0.238333
Epoch: 4 	Training Loss: 0.788063
Epoch: 4 	Validation Loss: 3.860251, Accuracy: 0.323333
Model saved with validation accuracy: 0.3233
Epoch: 5 	Training Loss: 0.357117
Epoch: 5 	Validation Loss: 4.141068, Accuracy: 0.196250
Epoch: 6 	Training Loss: 0.173838
Epoch: 6 	Validation Loss: 4.505919, Accuracy: 0.297083
Epoch: 7 	Training Loss: 0.103274
Epoch: 7 	Validation Loss: 3.654365, Accuracy: 0.272500
Epoch: 8 	Training Loss: 0.412588
Epoch: 8 	Validation Loss: 4.739330, Accuracy: 0.219167
Epoch: 9 	Training Loss: 0.147426
Epoch: 9 	Validation Loss: 3.770333, Accuracy: 0.227500
Epoch: 10 	Training Loss: 0.118514
Epoch: 10 	Validation Loss: 5.433824, Accuracy: 0.225000
Epoch: 11 	Training Loss: 0.075598
Epoch: 11 	Validation Loss: 4.303043, Accuracy: 0.240417
Epoch: 12 	Training Loss: 0.374948
Epoch: 12 	Validation Loss: 4.233840, Accuracy: 0.397500
Model saved with validation accuracy: 0.3975
Epoch: 13 	Training Loss: 0.076623
...

效果勉勉强强吧,能排到个70名,哈哈哈,后面有时间再想想怎么优化优化😸😸😸

5. 参考资料

【1】科大讯飞-旋转机械故障诊断挑战赛2023

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/793663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

玩转Python 秒懂python

解析器: 数据结构: 变量运算: 文件处理: 输入输出: 异常处理: 函数模块: 面向对象: 多线程: 三方库:

菜鸡shader:L13 渐隐渐显的UV动画

文章目录 SD部分Shader代码部分 呃呃,这是目前我学习庄懂AP01课程的最后一节了,我看了一下21集之后的内容是关于LightingMap,目前感觉还用不到,加上之前参与过一个项目里面也有用到LightingMap,也算了解过,…

多模态自监督学习 + 下游任务介绍

自监督学习 意义 经过海量无标签数据的学习后可以习得一个强大的特征提取器,在面对新的任务,尤其是医疗影像等小样本任务时,也能提取到较好的特征。 常见用途 相对位置预测:预测一张图像中随机选择的两个图像块之间的相对位置 图像修复:预测一张图像…

项目管理的最佳选择:最简单的项目管理系统

作为一名项目经理,你是否曾经或正面临过这些麻烦:你一上班就开始了解项目计划的完成情况和工作进展情况。在检查和填补工作空白的同时,你必须面对各种报告和清单。仅仅找到各种材料和文件就需要很多时间。不仅如此,我们还需要出身…

git拉取项目报错:fatal: remote error: Service not enabled

一般是git地址错误,如果是原本就有的项目,看看是不是代码库移动到其他地方了,这个库已经被删除了

辐射定标高精度积分球均匀光源

近一二十年,在环境科学、太阳物理、大气物理、气候学及气象学等研究的推动下,高精度太阳/大气定量光谱遥感技术发展十分迅速。空间定量光谱遥感数据的获取精度很大程度上取决于遥感仪器的定标精度。所谓遥感仪器定标,即指建立仪器输出电信号与…

ADS仿真低噪声放大器学习笔记

ADS仿真低噪声放大器 设计要求&#xff1a; 工作频率&#xff1a;2.4~2.5GHz ISM频段 噪声系数&#xff1a;NF < 0.7 增益&#xff1a;Gain > 15 输入驻波输出驻波&#xff1a;&#xff1c;1.5 这里重点是ADS操作流程 1. 安装晶体管的库文件 1、 下载ATF54143晶体管的…

mybatisPlus基础篇

文章目录 通用Mapper接口简单插入数据-insert简单删除数据-deleteById简单修改数据-updateById简单查询数据-selectById 通用service接口Service接口-插入数据Service接口-删除数据Service接口-修改数据Service接口-查询数据自定义接口方法自定义Mapper接口方法 通用Mapper接口…

milvus: 专为向量查询与检索设计的向量数据库

1. 什么是milvus&#xff1f; milvus docs milvus release Milvus的目标是&#xff1a;store, index, and manage massive embedding vectors generated by deep neural networks and other machine learning (ML) models. Milvus 向量数据库专为向量查询与检索设计&#xf…

vue项目开发环境和生产环境代理的配置问题

1.跨域 跨域解决方案&#xff1a; 1.JSONP 通过动态 script标签跨域 2.document.domain iframe跨域 3.location.hash iframe 4.window.name iframe跨域 5.postMessage 跨 window 通信 6.跨域资源共享&#xff08;CORS&#xff09; 7.nginx代理跨域 8.nodejs中间件代理跨域 9…

基于光子实验的指数级加速的量子同态加密理论

前言 量子计算机不仅有望在某些重要任务上超越经典计算机&#xff0c;而且还能保护计算的隐私。例如&#xff0c;盲量子计算协议支持安全委托量子计算&#xff0c;其中客户端可以保护其数据和算法的隐私&#xff0c;不受分配来运行计算的量子服务器的影响。然而&#xff0c;这…

NOI Linux 2.0 CSP奥赛复赛环境安装使用指南

新人旧人区别 以下是可能导致你在老版 NOI Linux 系统下形成的习惯在新版下翻车的改动。 移除了 GUIDE从 32bit 变为了 64bit 系统&#xff0c;需要注意指针现在占 8 字节而不是 4 字节更新了编译器版本默认情况下右键没了【新建文件】的选项桌面目录改为中文&#xff0c;可能…

【3519AV200】AI算法承载硬件平台_双目IMX334视频通道接入硬件方案开发

Hi3519AV200内置四核A55&#xff0c;提供高效且丰富和灵活的CPU资源&#xff0c;以满足客户计算和控制需求。集成单核MCU&#xff0c;以满足某些低延时要求较高场景。 Hi3519AV200集成了高效的神经网络推理单元&#xff0c;支持2.5Tops INT8 &#xff0c;并支持业界主流的神经网…

【监控系统】可视化工具Grafana简介及容器化部署实战

1.什么是Grafana 官网地址&#xff1a;https://grafana.com/ Grafana用Go语言开发的开源数据可视化工具&#xff0c;可以做数据监控和数据统计&#xff0c;带有告警功能。支持快速灵活的客户端图表&#xff0c;面板插件有许多不同方式的可视化指标和日志&#xff0c;官方库中…

【MySQL】索引与B+树

【MySQL】索引与B树 索引概念前导硬件软件方面 索引的理解单个page多个page引入B树B树的特征为什么B树做索引优于其他数据结构&#xff1f;聚簇索引与非聚簇索引辅助索引 索引的创建主键索引的创建和查看唯一键索引的创建和查看普通索引的创建和查看复合索引全文索引索引的其他…

2.java语法

文章目录 2.1. 字符型常量和字符串常量的区别?2.2. 关于注释&#xff1f;2.3. 标识符和关键字的区别是什么&#xff1f;2.4. Java 中有哪些常见的关键字&#xff1f; 2.5. 自增自减运算符2.6. continue、break、和 return 的区别是什么&#xff1f; 2.1. 字符型常量和字符串常…

Java编译器中的优化技术

一、JIT技术 Java中的热点代码主要有两类&#xff0c;包括&#xff1a;1、被多次调用的方法。 2、被多次执行的循环体。 前者很好理解&#xff0c;一个方法被调用得多了&#xff0c;方法体内代码执行的次数自然就多&#xff0c;它成为 “ 热点代 码 ” 是理所当然的。而后者则…

《零基础入门学习Python》第068讲:GUI的终极选择:Tkinter5

这节课的主要内容为 Listbox 组件、Scrollbar 组件 和 Scale 组件 在之前的学习中&#xff0c;我们已经知道了&#xff0c;如果说提供选项给客户选择&#xff0c;那么有两种情况&#xff0c;单选的话&#xff0c;我们用 Radiobutton&#xff0c;多选的话&#xff0c;用Checkb…

笔记本电源适配器使用时发烫会有安全隐患吗?

笔记本电源适配器&#xff08;充电器&#xff09; 笔记本充电器内部是一个很大的电感结构&#xff0c;因其工作原理会产生一部分热能&#xff0c;所以部分发热是正常的&#xff0c;即使发热也会一直保持一定的温度。同时&#xff0c;充电器外壳都是耐高温的不会烧坏&#xff…

【MySQL】索引是什么东东?

书中的目录&#xff0c;就是充当索引的角色&#xff0c;方便我们快速查找书中的内容&#xff0c;所以索引是以空间换时间的设计思想。 索引和数据位于存储引擎中&#xff0c;MySQL默认的存储引擎是InnoDB。 1 为什么MySQL采用B树作为索引&#xff1f; 1.1 其他数据结构为什么…