1

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

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

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

4

3 回答 3

2

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

于 2017-08-18T02:38:04.987 回答
0

我认为 Conv2dCPU 是在这个文件中使用 Eigen conv ops Line 61实现的

于 2017-08-04T21:25:27.633 回答
0

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

于 2017-08-06T06:56:31.970 回答