Python 第一次和后续张量计算的执行时间差异

Python 第一次和后续张量计算的执行时间差异,python,tensorflow,Python,Tensorflow,我在tensorflow中实现了一个(一个矩阵对角化,几个矩阵求逆,一组张量代数)。构建图形(在python中)需要3秒钟。对于一个典型的输入,评估需要10毫秒。但是第一次评估似乎有一个惩罚,使评估时间达到300毫秒(相比之下,等效的numpy实现需要30毫秒) tensorflow在第一次运行中做了什么导致了更大的计算时间 有没有一种方法可以分别从tensor求值中初始化这些内容?第一次使用特定的回迁(和/或馈送)运行图形时,优化过程会运行以重写图形(在某种程度上可以通过在构建会话时传递来配置

我在tensorflow中实现了一个(一个矩阵对角化,几个矩阵求逆,一组张量代数)。构建图形(在python中)需要3秒钟。对于一个典型的输入,评估需要10毫秒。但是第一次评估似乎有一个惩罚,使评估时间达到300毫秒(相比之下,等效的numpy实现需要30毫秒)

tensorflow在第一次运行中做了什么导致了更大的计算时间


有没有一种方法可以分别从tensor求值中初始化这些内容?

第一次使用特定的回迁(和/或馈送)运行图形时,优化过程会运行以重写图形(在某种程度上可以通过在构建会话时传递来配置)。但这也是分配发生的时候

通常,缓存会话(以及分配和优化图)是有意义的,如果需要,可以执行单独的预热调用