1.3.1 背景与现状

在资源条件允许的情况下,为了追求更高的性能,一般使用数据流水线模式进行数据处理操作,即预先定义好数据处理流水线和模型计算图,然后由后端并发异步执行数据处理运算,源源不断地为模型计算图提供输入数据,与此同时模型计算图也在并发执行计算,输出网络结果,数据处理流水线模式如图1.6所示。在模型训练和大规模数据推理的场景下,由于计算量较大,拥有预定义的数据流水线可以更加细粒度地规划资源的使用,发挥硬件的全部性能,从而提高数据处理单位时间的吞吐量。然而在端侧推理的场景下,数据量往往较小,同时碍于计算资源和功耗的限制,构建数据流水线的开销不能再被忽略。

图1.6 数据处理流水线模式

由此,MindSpore提供了一种轻量化的数据处理模式,即Eager模式,能够使用命令式的编程方法,单步执行数据处理操作,并立即获得处理结果。使用Eager模式,用户可以免于构建数据处理流水线,减小了小规模计算量场景下的开销。Eager模式可以被用于端侧单样本推理或模型功能检查及调试等场景。