[英]Implementation of tf.extract_image_patches
tf.extract_image_patches
的實現在tf.extract_image_patches
? 我檢查了我找不到的tensorflow存儲庫。
tensorflow/core/kernels/extract_image_patches_op.cc
文件不包含實現。
這是一個有趣的問題。 路徑如下:
Python tf.extract_image_patches
函數在生成的文件tensorflow/python/ops/gen_array_ops.py
實現,該文件調用"ExtractImagePatches"
本機操作。
該操作由CPU / GPU設備的core/kernels/extract_image_patches_op.cc
的ExtractImagePatchesOp
實現。 主要電話是functor::ExtractImagePatchesForward
...
...在core/kernels/extract_image_patches_op.h
定義。 實際的邏輯委托給輸入張量的::extract_image_patches()
方法。 張量的類型為TTypes<T, 4>::ConstTensor
,這是Eigen::TensorMap
core/framework/tensor_types.h
。
此時,它已經脫離了tensorflow源庫,因為Eigen
來自第三方eigen庫 ( GitHub鏡像 )。 它的源代碼有些不費吹灰之力下載並鏈接到tensorflow,但是現在我們對Eigen::TensorMap::extract_image_patches()
函數很感興趣。
它在eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h
文件中定義,並應用TensorImagePatchOp
...
...可以在eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h
。 最后,該函子不再進一步委托它,即實際的實現。
請注意,在不同版本的tensorflow中,特定版本的Eigen
庫可能會有所不同,您應該在bazel配置中進行檢查。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.