基于元算子的深度学习框架诊断系统、方法、装置、设备及介质制造方法及图纸

技术编号:28376611 阅读:35 留言:0更新日期:2021-05-08 00:04
本公开提供了一种基于元算子的深度学习框架诊断系统、方法、装置、介质及设备,所述系统包括:用户接口模块,用于为用户提供搭建深度学习模型并诊断模型中的算子的编程接口;模型静态图模块,用于根据用户的代码,构建模型静态计算图的结构;由状态记录器和数据流执行器组成的调试器,其中,所述状态记录器用于记录每次算子替换后计算图执行的计算结果;所述数据流执行器用于根据所述静态计算图的结构,执行正向计算和反向梯度计算操作;元算子模块,用于提供所述系统执行各类型计算的基本计算单位;算子实现模块,用于不同的深度学习框架的数值计算和/或多维数组操作;设备管理模块,用于管理硬件实现的CPU和GPU,并提供了一个统一的接口。

【技术实现步骤摘要】
基于元算子的深度学习框架诊断系统、方法、装置、设备及介质
本公开涉及深度学习
,更为具体来说,本公开涉及基于元算子的深度学习框架诊断系统、方法、装置、设备及介质。
技术介绍
深度学习(DeepLearning)在许多领域都有广泛的应用,例如图像识别、语音识别、机器翻译、自动驾驶等等。使用深度学习框架(DeepLearningFrameworks)提供的编程接口,用户可以轻松地设计、训练以及测试深度学习模型。如今,各种深度学习框架百花齐放,百家争鸣,进一步推动了深度学习技术在工业界的落地应用。在不同的深度学习框架中,计算通常以算子为单位,不同的算子定义了不同类型的数值计算。然而,各个深度学习框架在这些算子计算的实现上可能会存在错误,这些计算错误会导致深度学习模型预测结果不准确,甚至会因此产生严重的后果,例如:Uber深度学习框架中的一处错误曾导致一辆自动驾驶汽车撞人致死。因此,对深度学习框架的诊断工作在这些年来受到越来越多的关注。目前对深度学习框架进行测试和错误诊断的相关工作数量仍较少。其中,CRADLE是一个自动诊本文档来自技高网...

【技术保护点】
1.一种基于元算子的深度学习框架诊断系统,其特征在于,包括:/n用户接口模块,用于为用户提供搭建深度学习模型并诊断模型中的算子的编程接口;/n模型静态图模块,用于根据用户的代码,构建模型静态计算图的结构;/n由状态记录器和数据流执行器组成的调试器,其中,所述状态记录器用于记录每次算子替换后计算图执行的计算结果;所述数据流执行器用于根据所述静态计算图的结构,执行正向计算和反向梯度计算操作;/n元算子模块,用于提供所述系统执行各类型计算的基本计算单位;/n算子实现模块,用于不同的深度学习框架的数值计算和/或多维数组操作;/n设备管理模块,用于管理硬件实现的CPU和GPU,并提供了一个统一的接口。/...

【技术特征摘要】
1.一种基于元算子的深度学习框架诊断系统,其特征在于,包括:
用户接口模块,用于为用户提供搭建深度学习模型并诊断模型中的算子的编程接口;
模型静态图模块,用于根据用户的代码,构建模型静态计算图的结构;
由状态记录器和数据流执行器组成的调试器,其中,所述状态记录器用于记录每次算子替换后计算图执行的计算结果;所述数据流执行器用于根据所述静态计算图的结构,执行正向计算和反向梯度计算操作;
元算子模块,用于提供所述系统执行各类型计算的基本计算单位;
算子实现模块,用于不同的深度学习框架的数值计算和/或多维数组操作;
设备管理模块,用于管理硬件实现的CPU和GPU,并提供了一个统一的接口。


2.一种基于元算子的深度学习框架诊断方法,应用于如权利要求1中所述的基于元算子的深度学习框架诊断系统,其特征在于,包括:
使用所述系统中的所述用户接口模块搭建深度学习模型,并指定两个不同的深度学习框架用于比较计算结果;
对所述深度学习模型中的每个算子逐一诊断,并记录作出每一次算子替换之后模型的参数;
对替换算子底层实现前后模型的计算结果与预设阈值进行比较以完成对错误算子的定位;
通过对比替换算子实现前后结果差距较大的算子在两种深度学习框架中的底层实现,查找这些算子在深度学习框架中是否有实现上的错误。


3.根据权利要求2所述的方法,其特征在于,所述对所述深度学习模型中的每个算子逐一诊断具体包括:
通过算子细粒度替换的方式,对所述深度学习模型中的每个算子逐一诊断。


4.根据权利要求2所述的方法,其特征在于,所述参数具体包括:
模型的推断结果和/或模型参数梯度。


5.根据权利要求2所述的方法,其...

【专利技术属性】
技术研发人员:刘譞哲马郓谷典典黄罡孙艳春
申请(专利权)人:北京大学天津滨海新一代信息技术研究院
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1