[发明专利]基于工业质检领域机器学习模型的产品缺陷检测方法有效

专利信息
申请号: 202211388209.0 申请日: 2022-11-08
公开(公告)号: CN115438805B 公开(公告)日: 2023-01-24
发明(设计)人: 常琪;赵何;张志琦 申请(专利权)人: 江苏智云天工科技有限公司
主分类号: G06F16/182 分类号: G06F16/182;G06N20/00;G06F18/214;G06F9/445;G06F9/50;G06F16/172
代理公司: 上海锻创知识产权代理有限公司 31448 代理人: 陈少凌
地址: 213000 江苏省常州市常州钟楼经济开*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 工业 质检 领域 机器 学习 模型 产品 缺陷 检测 方法
【权利要求书】:

1.一种基于工业质检领域机器学习模型的产品缺陷检测方法,其特征在于,包括:

步骤1:将分布式训练模型存储至分布式存储服务器中;

步骤2:将训练数据集和验证数据集存储至分布式存储服务器中;

步骤3:利用训练数据集对分布式训练模型分别进行训练,并利用验证数据集进行验证;

步骤4:利用训练后的分布式机器学习模型对产品缺陷进行检测;

所述的基于工业质检领域机器学习模型的产品缺陷检测方法,包括:

步骤S1:根据当前训练任务ID生成Yaml参数文件存储路径,将Yaml参数文件保存至分布式存储服务器对应的存储路径中;

步骤S2:将Yaml参数文件在分布式存储服务器对应的存储路径写入分布式训练容器的环境变量中,每个分布式训练容器启动后,根据分布式训练容器环境变量中的Yaml参数文件路径获取当前训练任务所需要的参数;

步骤S3:将训练数据集和验证数据集存储至分布式存储服务器中,根据Yaml参数文件解析训练数据集和验证数据集的位置,获取所需要的训练数据集;

步骤S4:根据Yaml参数文件获取预训练模型在分布式服务器中的存储路径,并根据存储路径加载预训练模型为单机训练模型,将单机训练模型转换为分布式训练任务所需要的分布式训练模型,将分布式训练模型分配至相应的分布式训练容器中;

步骤S5:将获取的训练数据集采用分布式数据采样器给每个分布式训练容器分配当前训练数据集的子集;

步骤S6:利用训练数据集的子集对每个分布式训练容器中的分布式训练模型进行训练;

步骤S7:利用验证数据集对训练后的分布式训练模型进行验证;

基于不同训练速度要求,自定义使用GPU的数量以及资源的自动调度;

所述自定义使用GPU的数量采用:根据不同训练速度要求,通过Web页面设置GPU数量,通过请求参数传给后端,并利用设置的GPU数量对参数文件中默认的GPU数量进行覆盖;

所述资源的自动调度采用:在kubernetes集群中部署kubeflow,将分布式训练代码打包到docker镜像中,使用kubernetes的自定义资源pytrochjob来启动镜像,实现质检模型训练的部署,利用kubernetes的容器自动调度、自动编排技术,将质检模型训练任务自动调度到有空闲资源的多台机器上,实现分布式训练资源的自动调度;

将分布式训练任务的容器Ip和端口以及当前容器的序号写入环境变量中实现容器间的动态发现和数据传递、主进程容器的模型保存;

所述将分布式训练任务的容器Ip和端口以及当前容器的序号写入环境变量中实现容器间的动态发现和数据传递采用:将分布式训练任务的容器Ip和端口写入环境变量中,使得分布式训练的主进程和从属工作进程能够互相发现,从而判断当前任务整体的执行情况来决定是否要终止当前任务,以及在每一阶段训练完成后,主进程和从属工作进程能够进行数据传递,保证不同容器间梯度参数的一致性;

所述将分布式训练任务的容器Ip和端口以及当前容器的序号写入环境变量实现主进程容器的模型保存采用:在分布式训练启动后,初始化分布式训练的进程组,在进程组中给主进程分配序号RANK为0,从属工作进程的RANK序号为1,其他从属工作进程的RANK序号依次增加,使得当前进程判断序号RANK是否为0,判断自己是否是主进程,若是主进程,通过判断,在相应位置执行相关代码;

在容器启动之前,给分布式训练的每一个容器设置共享内存,当某一个进程从分布式存储中加载数据到内存中后,其他进程则不必再次加载数据到内存,而是直接加载共享内存中的数据,减少加载数据的次数和内存间数据拷贝的次数,从而加快数据加载速度;

保存训练过程数据并使用数据可视化工具对训练损失和训练准确性进行展示;

加载参数文件,并解析保存训练过程数据的文件路径,在训练过程,通过训练过程数据衡量训练损失和训练准确度的指标,并保存到分布式存储系统提供的文件路径中;

在分布式训练开始之前,启动用于数据可视化展示训练指标的服务,生成访问服务的路径,并给服务设置所需要读取的训练过程文件所在的目录参数,在WEB页面,通过浏览器跳转到可视化服务启动后自动生成的访问路径,实时查看训练指标,判断训练情况;

发送训练通知,实时监控训练进度;

每个进程通过获取当前容器的环境变量来获取当前进程的RANK序号,并给kafka消息中间件发送当前进程启动和停止的消息,主进程在训练过程中发送当前训练的轮次到对应的kafkatopic中;

Springboot服务通过消费任务结果topic中的消息,将当前分布式训练任务的所有进程的启动情况写入数据库,通过消费任务进度topic中的消息,将当前分布式训练任务正在进行的轮次写入数据库,在WEB页面通过接口从数据库查询当前训练任务,在WEB页面实时展示容器的状态和训练的轮次,从而综合判断当前分布式训练任务的运行情况和实时监控分布式训练任务训练进度。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏智云天工科技有限公司,未经江苏智云天工科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202211388209.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top