测试集

Einsum Benchmark 的数据组成,以及收缩序优化、切片和数值执行测试的用途。

本页目录

数据组成

ArcTN 使用公开的 Einsum Benchmark 进行测试。数据集包含 168 个实例、7 个类别:图模型、张量网络语言模型、模型计数、量子计算、随机问题、结构化问题和加权模型计数。

测试集合 实例数 范围
Einsum Benchmark 全集 168 不同应用中的张量网络收缩问题
量子计算子集(QC32) 32 全集中属于量子计算类别的实例

QC32 的 32 指实例数,不是量子比特数。每个完整实例提供 einsum 表达式、数值张量和参考路径等数据,字段见官方说明。从表达式和数组形状可得到 ArcTN 使用的 inputs、output、size_dict,见张量网络输入。

数据可从 Zenodo 下载,也可通过 einsum_benchmark Python 包读取,方法见官方入门文档。

测试用途

测试 测试内容
收缩序优化 根据网络结构搜索路径,记录搜索时间和路径指标
切片 在给定中间张量大小上限下,检查切片结果,记录切片数和总计算量
数值执行 加载输入数组,沿收缩路径完成计算,记录执行时间、内存使用并核对结果

收缩序优化只需要网络结构;数值执行还需要与之对应的数组。也可以连续完成优化、切片和执行,测试张量网络收缩的总耗时。

测试条件

指标定义见路径指标,计时方法见计时与 CPU 使用量。