python - 如何使用线性代数运算在 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 运算符几乎只是一个线性运算,因此应该有一种方法可以使用更基本的运算来编写它。不幸的是,我在线性代数或张量流方面不够熟练,无法自己做这件事,希望能得到一些帮助。
提前非常感谢!
解决方案
结果 = numpy.sum(square_output_tensor.numpy(), axis=(0,1,2), keepdims=False)
这假设您在 Eager Mode 下工作,否则方法调用 .numpy() 将不起作用。而对于图形模式,您将使用 tf.py_func 代替。
推荐阅读
- angular - Angular 9,将数组绑定为子组件的@Input 不起作用
- python - 如何在pygame中移动按钮?
- lua - 有没有办法在没有 504 错误的情况下调试 lua 应用程序?
- html - CSS Grid 两次显示项目
- java - 我的合并排序程序在 Java 中显示了一个超出范围的数组
- c# - 如何使用 Type.GetMethod(string name, int genericParameterCount, Type[] types) 获取通用 MethodInfo?
- html - 这是 box-sizing 的预期行为:“border-box”吗?
- python - 从子目录访问父模块变量
- c# - 使用唯一的类对象多线程池 C#
- git - GIT-如何减少存储库的大小但保留所有代码