首页 游戏 软件 资讯 排行榜 专题
首页
AI
【AI达人创造营第二期】电机异音AI诊断

【AI达人创造营第二期】电机异音AI诊断

热心网友
86
转载
2025-07-23
本项目针对电机异音AI诊断,利用飞桨平台构建模型。因人工质检易误判,项目基于振动信号,用机器学习技术实现智能检验,要求故障电机零漏检。通过复制正样本解决数据不平衡,修改损失函数,用全连接层训练。结果显示正样本全对,负样本准确率91%,可改进为卷积层并设验证集。

【ai达人创造营第二期】电机异音ai诊断 - 游乐网

电机异音AI诊断

本项目为飞桨领航团AI达人创造营第二期作业。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

项目背景

在电机生产线上普遍采用人工听音的方法分辨良、次品,不仅成本高,而且重复、单调的听音工作极易引起人员疲劳,容易出现误判,若个别不良品混入整批成品中,会给工厂带来严重经济损失,甚至严重影响产品声誉。

(数据对应的比赛)本次大赛要求参赛者基于加速度传感器采集的振动信号,利用机器学习、深度学习等人工智能技术,设计智能检验的算法,要求算法对故障电机不能有漏识别,在召回100%的情况下,尽量提高预测准确率,以达到替代人工质检的目的。

数据说明

文件清单:

Motor_tain.zip:用于训练的采集数据,其中,文件夹“正样本”包含30个异常电机的数据样本,文件夹“负样本”包含500个正常电机的数据样本;Motor_testP.zip:用于测试的采集数据,包含500个电机的数据样本;
文件说明:采集数据时是分别对电机正转、反转时的振动信号进行采集。也就是说每台电机有两条数据,其中F代表正转,B代表反转。每条数据包含两路振动信号,数据文件命名规则:编号_旋转方向.csv。比赛链接:https://jingsai.julyedu.com/v/25820185621432447/dataset.jhtml

项目方案

每个样本包含F和B两份csv,每个csv文件包含79999×2个数据。使用多个全连接层进行预测。使用的损失函数为交叉熵。

模型如下:

【AI达人创造营第二期】电机异音AI诊断 - 游乐网        

处理方案

重采样:针对数据不平衡,复制多份正向样本,从而训练时达到类别均衡采样的效果修改损失:针对题目要求的保证TP最大,尽可能减小FP的问题,将label==1的损失权重设定为1.1。

代码

预处理

In [1]
! unzip -oq data/data31822/Motor_tain.zip! unzip -oq data/data31822/Motor_testP.zip
登录后复制    In [31]
import ostrain_pos_dir='Motor_tain/╒¤╤∙▒╛/'train_neg_dir='Motor_tain/╕║╤∙▒╛/'# 生成三份文件便于按照类别比例划分with open('train_pos.txt','w') as f:    for item in list(set([item[:len(item)-6] for item in os.listdir(train_pos_dir)])):        if '.ipynb' not in item:            f.write(train_pos_dir+item+'\t1\n')with open('train_neg.txt','w') as f:    for item in list(set([item[:len(item)-6] for item in os.listdir(train_neg_dir)])):        if '.ipynb' not in item:            f.write(train_neg_dir+item+'\t0\n')with open('train.txt','w') as f:    for item in list(set([item[:len(item)-6] for item in os.listdir(train_pos_dir)])):        if '.ipynb' not in item:            for i in range(int(500/30)):                f.write(train_pos_dir+item+'\t1\n')    for item in list(set([item[:len(item)-6] for item in os.listdir(train_neg_dir)])):        if '.ipynb' not in item:            f.write(train_neg_dir+item+'\t0\n')
登录后复制    

构造读取器

In [33]
import paddleimport numpy as npimport paddle.vision.transforms as Tfrom PIL import Imageimport pandas as pdclass MyDateset(paddle.io.Dataset):    def __init__(self,txt_dir):        super(MyDateset, self).__init__()                self.path=[]        self.label=[]        with open(txt_dir,'r') as f:            for line in f.readlines():                self.path.append(line.split('\t')[0])                self.label.append(line.split('\t')[1][0])    def __getitem__(self, index):        path = self.path[index]        label = int(self.label[index])        F=pd.read_csv(path+'_F.csv')        B=pd.read_csv(path+'_B.csv')        F=paddle.to_tensor(F.values).flatten(0).astype('float32')        B=paddle.to_tensor(B.values).flatten(0).astype('float32')        label = np.array(label).astype('int64')        return F,B,label    def __len__(self):        return len(self.label)
登录后复制    In [34]
train_dataset=MyDateset('train.txt')train_dataloader = paddle.io.DataLoader(    train_dataset,    batch_size=16,    shuffle=True,    drop_last=False)for step, data in enumerate(train_dataloader):    F, B, label = data    print(step, F.shape, B.shape, label.shape)    break
登录后复制        
0 [16, 159998] [16, 159998] [16]
登录后复制        

构造网络模型

In [35]
class MyNet(paddle.nn.Layer):    def __init__(self):        super(MyNet,self).__init__()        self.fc_F = paddle.nn.Linear(in_features=159998, out_features=2000)        self.fc_B = paddle.nn.Linear(in_features=159998, out_features=2000)        self.fc_1  = paddle.nn.Linear(in_features=4000, out_features=1000)        self.fc_2  = paddle.nn.Linear(in_features=1000, out_features=200)        self.fc_3  = paddle.nn.Linear(in_features=200, out_features=2)    def forward(self,F,B):        F = self.fc_F(F)        B = self.fc_B(B)        x = paddle.concat([F,B],axis=-1)        x = self.fc_1(x)        # x = paddle.nn.functional.relu(x)        x = self.fc_2(x)        # x = paddle.nn.functional.relu(x)        x = self.fc_3(x)        return x
登录后复制    

训练

In [38]
model = MyNet()model.train()max_epoch=10opt = paddle.optimizer.SGD(learning_rate=0.001, parameters=model.parameters())now_step=0for epoch in range(max_epoch):    for step, data in enumerate(train_dataloader):        now_step+=1        F, B, label = data        pre = model(F,B)        loss = paddle.nn.functional.cross_entropy(pre,label,weight=paddle.to_tensor([1,1.1]),reduction='mean')        loss.backward()        opt.step()        opt.clear_gradients()        if now_step%100==0:            print("epoch: {}, batch: {}, loss is: {}".format(epoch, step, loss.mean().numpy()))paddle.save(model.state_dict(), 'model.pdparams')
登录后复制        
epoch: 1, batch: 37, loss is: [0.631444]epoch: 3, batch: 13, loss is: [0.63104683]epoch: 4, batch: 51, loss is: [0.63319224]epoch: 6, batch: 27, loss is: [0.5660453]epoch: 8, batch: 3, loss is: [0.5968682]epoch: 9, batch: 41, loss is: [0.5927209]
登录后复制        

查看混淆矩阵

格式为

In [39]
# mydict = paddle.load("model_1.pdparams")# model.set_state_dict(mydict)record=np.zeros([2,2])for i in range(len(train_dataset)):    F,B,label=train_dataset[i]    pre=model(F,B)    # print(f'real label: {label} pre label: {np.argmax(pre.numpy())}')    record[label.tolist()][np.argmax(pre.numpy())]+=1record
登录后复制        
array([[455.,  45.],       [  0., 480.]])
登录后复制                

总结

本项目使用了极简方式构造了一个电机异音AI诊断模型,最终结果表明模型可以将全部正样本(异常)都判断正确,并且负样本的占比为9%。除去模型效果的因素外,本项目有以下不足,可以继续改进:

本项目构造了一个简单的全连接层网络模型,但由于数据量较大,需要在第一个全连接层尽可能地压缩节点数。可以尝试使用卷积替换全连接层。由于样本量较少(正向样本仅30个),仅设置了训练集,没有设定验证集。
来源:https://www.php.cn/faq/1423613.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

阿里千问 AI 眼镜接入蚂蚁 GPASS:语音解锁共享单车、停车缴费
AI
阿里千问 AI 眼镜接入蚂蚁 GPASS:语音解锁共享单车、停车缴费

当AI眼镜学会“跑腿”:语音解锁单车,无感支付停车费 近来,智能穿戴领域的一个新动向值得关注:阿里旗下的千问AI眼镜,正式接入了蚂蚁集团的GPASS平台。这可不是一次简单的功能叠加,它意味着,诸如共享单车骑行、停车缴费这一系列高频的“AI办事”功能,开始从手机屏幕转移到了你的眼前。 简单说,借助GP

热心网友
04.06
Workbuddy注册额外积分
AI
Workbuddy注册额外积分

角色定位与核心任务目标 明确了基本定位后,我们直接切入核心:作为一名专业的文章优化师,我的核心职责在于,将那些带有明显AI生成特征的文本,深度重塑为拥有个人特色与行业洞见的优质内容。 换句话说,这项任务的关键在于实施一次“精准的换血手术”。你必须严格保证原文所有的事实依据、核心观点、逻辑框架,以及每

热心网友
04.06
OpenClaw使用kimi web_search返回401问题
AI
OpenClaw使用kimi web_search返回401问题

1 故障现象:OpenClaw无法联网搜索的典型报错 许多开发者在配置OpenClaw AI助手的搜索功能时,常常会遭遇一个典型故障:日常对话交互完全正常,但一旦触发需要联网查询信息的指令,界面便会立刻弹出“抱歉,我目前无法使用网络搜索功能(需要配置 API 密钥)”或“HTTP 401: Inv

热心网友
04.05
1.4 万亿词元!阿里 Qwen3.6-Plus 刷新全球最大 AI 聚合平台 OpenRouter 日调用量纪录
AI
1.4 万亿词元!阿里 Qwen3.6-Plus 刷新全球最大 AI 聚合平台 OpenRouter 日调用量纪录

1 4 万亿词元!阿里 Qwen3 6-Plus 刷新全球最大 AI 聚合平台 OpenRouter 日调用量纪录 这事儿挺震撼的。就在4月4日,全球最大的AI模型聚合平台OpenRouter在其官方账号上公布了一个爆炸性数字:阿里刚刚发布的千问新模型Qwen3 6-Plus,上线仅仅一天,日调用量

热心网友
04.04
Solidus Ai Tech(AITECH)币是什么?怎么样?AITECH工作原理和代币经济学概述
web3.0
Solidus Ai Tech(AITECH)币是什么?怎么样?AITECH工作原理和代币经济学概述

Solidus AI 是什么 在AI与Web3加速融合的当下,一个名为Solidus AI的项目提出了自己的解决方案。它将自己定位为“Web3原生的AI HPC基础设施”,其蓝图相当清晰:以位于欧洲的环保高性能计算(HPC)数据中心为基石,向上构建一个计算与AI工具市场,并最终通过AITECH代币完

热心网友
04.03

最新APP

火柴人传奇
火柴人传奇
动作冒险 04-01
街球艺术
街球艺术
体育竞技 04-01
飞行员模拟
飞行员模拟
休闲益智 04-01
史莱姆农场
史莱姆农场
休闲益智 04-01
绝区零
绝区零
角色扮演 04-01

热门推荐

《洛克王国》世界圣羽翼王打法攻略-圣羽翼王技能与实战详解
游戏攻略
《洛克王国》世界圣羽翼王打法攻略-圣羽翼王技能与实战详解

速览攻略:世界圣羽翼王核心打法与全面解析 本攻略将为你完整呈现《洛克王国》世界圣羽翼王的通关秘籍,深度剖析两种高效实战打法:追求极致速度的“燃薪虫四回合速通”与稳定输出的“酷拉无限连击流”。文章将进一步解析这位翼系精灵王的技能机制、属性克制关系及其在PVE与PVP中的实战定位,帮助你彻底掌握应对其隐

热心网友
04.06
《异种航员2》工程系统详解-工作坊与资源管理指南
游戏攻略
《异种航员2》工程系统详解-工作坊与资源管理指南

速览:工程系统核心机制解析 在《异种航员2》中,工程系统是整个抵抗力量赖以运转的“战略后勤中枢”。无论是研发新武器、生产重型装甲还是制造先进飞行器,所有实体装备的产出都依赖于此。简言之,该系统的核心运作围绕着两大关键:工程师人力的高效配置与全球稀缺资源的精细化调度。工程师的数量直接决定了每个项目的建

热心网友
04.06
《洛克王国世界》治愈兔位置详解-任务与战斗关键精灵
游戏攻略
《洛克王国世界》治愈兔位置详解-任务与战斗关键精灵

核心速览 在《洛克王国世界》中,治愈兔是一位兼具功能性任务角色与实战辅助能力的精灵。它的价值不仅在剧情推进中体现,更在于对战里出色的治疗与防护表现。本文将为你全面解析治愈兔的精准获取位置、种族属性特点以及实战技能搭配,助你顺利捕捉并最大化其在队伍中的作用。所有关键信息将通过清晰的图文内容详细展示,确

热心网友
04.06
《红色沙漠》传说之狼打法-传说之狼击杀流程详解
游戏攻略
《红色沙漠》传说之狼打法-传说之狼击杀流程详解

速览 在《红色沙漠》中,挑战传说之狼这一强大的任务BOSS,需要玩家进行充分的准备并遵循完整的任务流程。整个过程环环相扣,你必须首先参与塞莱斯特家族的势力任务,通过完成任务将家族声望提升至指定等级,才能解锁【传说之狼】的专属讨伐任务,最终直面这个传说中的强大生物。 红色沙漠传说之狼怎么打 归根结底,

热心网友
04.06
《宝可梦Pokopia》舒适度提升攻略-环境等级与栖息地优化指南
游戏攻略
《宝可梦Pokopia》舒适度提升攻略-环境等级与栖息地优化指南

【宝可梦Pokopia】舒适度全解析:快速提升环境等级的核心秘诀 你是否正在探索《宝可梦Pokopia》世界,并希望有效提升宝可梦栖息地的舒适度?舒适度不仅是衡量宝可梦快乐程度的晴雨表,更是解锁游戏核心内容、加速发展的关键驱动指标。本攻略将系统性地为你揭示提升舒适度的核心途径,涵盖从装饰栖息地、建造

热心网友
04.06