tf.nn.sigmoid 在 TensorFlow 中实现
tf.nn.sigmoid implementation in TensorFlow
您能否指出 TensorFlow (2.0) 中 tf.nn.sigmoid
函数的实际 C++ 实现?仅用于教育目的。
谢谢。
Tensorflow 源代码导航起来有点棘手。这是我用来查找实现文件的一些想法。
可以看到这里python中定义了tf.nn.sigmoid
tensorflow/python/ops/math_ops.py.
如果您查看此函数定义,您会发现它 returns 是 gen_math_ops
中定义的 sigmoid 函数。我花了一段时间才弄明白,但如果你在 tensorflow/python/ops
中搜索 gen_math_ops
,你将找不到它。前面带有 gen_
的任何内容都是名称 tensorflow 给出由 C++ 代码注册的操作。
我们在内核实现中真正想要的。这些可以在 tensorflow/core/kernels
中找到。 "sigmoid"
的快速 ctrl+f 将我们指向 cwise_op_sigmoid.cc
。这不包含实现,但将我们指向一个头文件 cwise_ops_common.h
。这也不包含实现,但将我们指向 cwise_ops.h
。在此文件中为 "sigmoid"
按 ctrl+f,我们在 877. You can see this is a functor that wraps the Eigen operation Eigen::internal::scalar_logistic_op
. Here are the docs for that op. If you're curious how that op is implemented, I'd download the source. You can find it here.
行找到“实现”
您能否指出 TensorFlow (2.0) 中 tf.nn.sigmoid
函数的实际 C++ 实现?仅用于教育目的。
谢谢。
Tensorflow 源代码导航起来有点棘手。这是我用来查找实现文件的一些想法。
可以看到这里python中定义了tf.nn.sigmoid
tensorflow/python/ops/math_ops.py.
如果您查看此函数定义,您会发现它 returns 是 gen_math_ops
中定义的 sigmoid 函数。我花了一段时间才弄明白,但如果你在 tensorflow/python/ops
中搜索 gen_math_ops
,你将找不到它。前面带有 gen_
的任何内容都是名称 tensorflow 给出由 C++ 代码注册的操作。
我们在内核实现中真正想要的。这些可以在 tensorflow/core/kernels
中找到。 "sigmoid"
的快速 ctrl+f 将我们指向 cwise_op_sigmoid.cc
。这不包含实现,但将我们指向一个头文件 cwise_ops_common.h
。这也不包含实现,但将我们指向 cwise_ops.h
。在此文件中为 "sigmoid"
按 ctrl+f,我们在 877. You can see this is a functor that wraps the Eigen operation Eigen::internal::scalar_logistic_op
. Here are the docs for that op. If you're curious how that op is implemented, I'd download the source. You can find it here.