gpt4 book ai didi

c++ - TensorFlow:Python 函数的可用 C++ 等价物

转载 作者:搜寻专家 更新时间:2023-10-31 00:55:28 26 4
gpt4 key购买 nike

我想知道如何找到 Python 中广泛使用的 TensorFlow 方法的 C++ 等价物。例如,在哪里可以找到 tf.matmul() 的等价物?它是否可用?

我正在阅读 main.cclabel_image例如,我注意到它使用了像 Sub()Div() 这样的函数,我在 C++ API 文档中找不到它们的文档。我想知道这些功能是从哪里来的。

谢谢。


更新:

TensorFlow r1.0 C++ API 的良好文档很好地解决了这种困惑。 .

最佳答案

更新:答案主要对 TensorFlow 1.0 之前的版本有意义。 MBA 指出了 TF 团队直接提供的一些新解释(官方文档),并且围绕操作进行了很好的重构:-)


Python API 将许多操作的执行委托(delegate)给 C++ 实现。

tensorflow/core/ops 下的源代码包含内核和操作。它们是处理通过不同 API 调用的命令的实际操作。

内核和操作遵循一种模式。 REGISTER_OP 宏将 C++ 函数实现“附加”到句柄(字符串),该句柄在运行时由其中一个 API 调用。这种架构有其优点和缺点 --- 超出范围:-)

例如tf.matmul,代码很容易在repository中的tensorflow/core/ops/math_ops.cc中找到。 .典型的模式如下所示:

REGISTER_OP("MatMul")
.Input("a: T")
.Input("b: T")
.Output("product: T")
.Attr("transpose_a: bool = false")
.Attr("transpose_b: bool = false")
.Attr("T: {half, float, double, int32, complex64, complex128}")
.SetShapeFn(shape_inference::MatMulShape)
.Doc("[Edited: some doc string.]");

执行 tf.matmul 的实际代码在函数 shape_inference::MatMulShape 中(“仿函数”,即 C++ 函数)。包装器(例如 Python API)调用 MatMul 句柄来执行代码。

关于c++ - TensorFlow:Python 函数的可用 C++ 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41818288/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com