TensorFlow Conv2D实现?

时间:2017-08-04 19:45:33

标签: tensorflow eigen tensorflow-xla

我试图找到实际Conv2D操作的实现位置,以便我可以评估内存访问模式。跟踪事物,看起来Conv2D操作的执行通过contract()函数调用进入Eigen。问题是,我似乎无法在TensorFlow或Eigen源中找到函数的定义或声明。

哪些功能主要负责在TensorFlow中执行Conv2D操作?我想看看它是如何瘫痪的,一般的内存访问模式是什么,以及原始计算是如何完成的。

此查询专门针对CPU,因为我已经在一定程度上研究了GPU执行。

3 个答案:

答案 0 :(得分:1)

经过一番搜索,我发现CPU Conv2D的实际实现在deep_conv2d.cc

答案 1 :(得分:0)

我认为Conv2dCPU是使用Eigen conv ops Line 61 onwards

在此文件中实现的

答案 2 :(得分:0)

contract()返回一个抽象表达式,其评估在TensorContraction.h中实现。它本质上是Eigen矩阵矩阵或矩阵向量乘积之上的包装器。