张量形状不匹配是深度神经网络机器学习过程中会出现的重要错误之一。由于神经网络训练成本较高且耗时,在执行代码之前运行静态分析,要比执行然后发现错误快上很多。

由于静态分析是在不运行代码的前提下进行的,因此可以帮助软件开发人员、质量保证人员查找代码中存在的结构性错误、安全漏洞等问题,从而保证软件的整体质量。

相比于程序动态分析,静态分析具有不实际执行程序;执行速度快、效率高等特点而广受研究者青睐,目前,已有许多分析工具可供研究使用,如斯坦福大学开发的 Meta-Compilation(Coverity)、利物浦大学开发的 LDRA Testbed 等。

近日,来自韩国首尔大学的研究者们提出了另一种静态分析器 PyTea,它可以自动检测 PyTorch 项目中的张量形状错误。在对包括 PyTorch 存储库中的项目以及 StackOverflow 中存在的张量错误代码进行测试。结果表明,PyTea 可以成功的检测到这些代码中的张量形状错误,几秒钟就能完成。

内容中包含的图片若涉及版权问题,请及时与我们联系删除