首页 > 解决方案 > 如何使用线性代数运算在 python 中重写 tensorflows tf.reduce_sum?

问题描述

我正在尝试重写操作 tf.reduce_sum 操作

tf.reduce_sum(tf.square(self.kernel), [0,1,2], keepdims=False)

仅使用基本的线性代数运算。这样做的上下文是因为我正在尝试将模型转换为当前不支持 reduce_sum 操作的 tensorrt。

由于 reduce_sum 运算符几乎只是一个线性运算,因此应该有一种方法可以使用更基本的运算来编写它。不幸的是,我在线性代数或张量流方面不够熟练,无法自己做这件事,希望能得到一些帮助。

提前非常感谢!

标签: pythontensorflowlinear-algebra

解决方案


结果 = numpy.sum(square_output_tensor.numpy(), axis=(0,1,2), keepdims=False)

这假设您在 Eager Mode 下工作,否则方法调用 .numpy() 将不起作用。而对于图形模式,您将使用 tf.py_func 代替。


推荐阅读