如何找到Tensorflow下载的Eigen版本?

How to find the Eigen version that Tensorflow downloads?

我想弄清楚我的 Tensorflow 使用的是哪个 Eigen 版本。我可以看到 Bazel 根据 tensorflow/workspace.bzl 文件中的散列值下载 Eigen。在该文件中有两个值:

eigen_version = "6d4cd6e5cdd9"

eigen_sha256 = "c8df78734ba9b402b94586be5eda78ee75e0244a99e8ae4183785710c44eb93f"

但是,我不知道如何将它们映射到正确的 Eigen 版本。

散列 6d4cd6e5cdd9 看起来对应于 this commit。这似乎在 dev 分支中。 Macros.h 中的版本号为 3.2.93(略早于 3.3rc1)。

我也有同样的需求。我的工作:

方法一:(如果在 tf-build 期间已经下载了 eigen) 检查 bazel-tensorflow-xxx/external/eigen_archive/Eigen/src/Core/util/Macros.h。例如:

cat bazel-tensorflow-r1.3/external/eigen_archive/Eigen/src/Core/util/Macros.h | grep -i version
\#define EIGEN_WORLD_VERSION 3<br/>
\#define EIGEN_MAJOR_VERSION 3<br/>
\#define EIGEN_MINOR_VERSION 90<br/>

方法二:

下载并解压 eigen 压缩文件(例如 http://mirror.bazel.build/bitbucket.org/eigen/eigen/get/f3a22f35b044.tar.gz),并检查相同的头文件。