2017-10-20 24 views
1

執行tf.extract_image_patches在哪裏?我檢查了我找不到的tensorflow庫。執行tf.extract_image_patches

文件tensorflow/core/kernels/extract_image_patches_op.cc不包含實現。

回答

1

這是一個有趣的問題。路徑如下:

  • 的Python tf.extract_image_patches函數在所生成的文件tensorflow/python/ops/gen_array_ops.py,這將調用"ExtractImagePatches"天然運算實現。

  • 對於CPU和GPU設備,此操作由中的ExtractImagePatchesOp實現。主要電話是functor::ExtractImagePatchesForward ...

  • ...它定義在core/kernels/extract_image_patches_op.h。實際的邏輯被委託給輸入張量的::extract_image_patches()方法。張量的類型爲TTypes<T, 4>::ConstTensor,這是一個Eigen::TensorMapcore/framework/tensor_types.h的類型定義。

在這一點上,人的失控tensorflow源基地,因爲Eigen是從第三方eigen libraryGitHub mirror)。它的源代碼有點non-trivially downloaded and linked張量流,但現在我們有興趣在Eigen::TensorMap::extract_image_patches()功能。

注意Eigen庫的特定版本可以在不同的不同構建tensorflow,你應該在巴澤爾配置檢查。