[英]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.